Я нашел метод, который, хотя и не очень элегантен, но прост и довольно хорошо работает с использованием serialize ().
мой фрагмент кода формы:
<select name="state" id="states" class="required">
<option value=""></option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
</select>
<input value="radio1" type="radio" name="radioPicks" class="radio"/>
<input value="radio2" type="radio" name="radioPicks" class="radio"/>
<input value="radio3" type="radio" name="radioPicks" class="radio"/>
<input type="hidden" name="radioPicks" value="">
Чтобы это работало, FBJS требовалось:
<script type="text/javascript">
<!--
function checkForm(form) {
var params=form.serialize();
if (params.state.length>0 && params.radioPicks!="")
return true;
else
var myDialog = new Dialog(Dialog.DIALOG_POP);
myDialog.showMessage('Almost Done!', 'Please complete all fields', button_confirm='Close');
return false;
}
-->
</script>
Ключ к этому методу проверки полагается на пустой тег option
для возврата "" для выбранного значения тега и "" для переключателей. Я добавил скрытый ввод и назвал его тем же именем, что и переключатели, чтобы добавить его данные в возвращаемый массив. значение "" используется в условном выражении, чтобы проверить и сказать, не являются ли эти поля пустыми, дать форме разрешить отправить информацию на сервер. Надеюсь, это поможет.
person
The Orange Mantis
schedule
29.01.2010