The trouble is caused by the comma in the numeric values. eForm automatically sets a #LIST validation rule for select boxes (and radio buttons) and the #LIST expects a comma separated list... Here’s how the validation rule values turn out in your case:
array (
0 => ’n/a’,
1 => ’$2500-5000’,
2 => ’$5000-15’,
3 => ’000’,
4 => ’$15’,
5 => ’000-50’,
6 => ’000’,
7 => ’$50’,
8 => ’000+’,
)
The green values would validate, the rest obviously not. The blue ones are extra values created by wrongly splitting the embedded commmas.
The solution would be to translate the comma’s when the rule list is generated and translating them back when validating the values...
2 small hacks in eFrom.inc.php will do the trick:
<?php
#LINE 750 - replace
# $formats[$name][5]= "#LIST " . implode(",",$validValues);
#with
$formats[$name][5]= "#LIST " . implode(",",str_replace(',','|~|',$validValues));
#LINE 904 - replace
# if(!isset($vlist)) explode(',',strtolower(trim($param))); //cached
#with
if(!isset($vlist)){
$vlist = explode(',',strtolower(trim($param))); //cached
foreach($vlist as $k =>$v) $vlist[$k]=str_replace('|~|',',',$v);
}
?>
I’ll update this (or make an equivalent change) in the next version.