我的表单由链式选择组成。当我最后到达时,我提交它,当且仅当所有选择都被填满时。
这是我的功能。
$("#form_maps select").each(function(index, el){
var val = $(el).val();
if(val === null)
{
alert('error message');
return false;
}
else
{
$('#form_maps').submit();
}
});
当我进行测试时,会产生错误(警报),但几秒钟后(我会说2或3),表单仍然会被提交。
这是我的html表单
<form id="form_maps" method="post" style="height: 100px;">
<select name="select_0" id="select_0">
<option value="c_5" class="c_4">Excavateur</option>
<option value="c_11" class="c_4">Compaction</option>
</select>
<select name="select_1" id="select_1">
<option value="c_6" class="c_5">série 100</option>
<option value="c_9" class="c_5">série 200</option>
</select>
<select name="select_2" id="select_2">
<option value="c_7" class="c_6">above</option>
<option value="c_10" class="c_6">thru</option>
</select>
<select name="select_3" id="select_3">
<option value="c_8" class="c_7">système hydraulique</option>
<option value="c_12" class="c_7">système électrique</option>
</select>
</form>
请问我有什么问题?感谢您的协助。
答案 0 :(得分:2)
我猜您的表单已提交,因为您的某个选项具有有效值且return false
未停止循环。如果你想阻止提交到表单,除非所有选择都有一个有效的值,那么我建议使用一个布尔值,如果其中一个选择无效,将被设置为false。
这样的事情:
var canSubmit = true;
$("#form_maps select").each(function(index, el){
var val = $(el).val();
if(val === null)
{
alert('error message');
canSubmit = false;
}
});
if(canSubmit) {
$('#form_maps').submit();
}
答案 1 :(得分:0)
有一个三元组可能是开始的东西......