我正在努力应该在提交之前检查表单字段的函数。 我有一些选择(下拉字段)和一个文本字段。提交时,它们都不应为空。
要重现的脚本http://jsfiddle.net/6KY5J/2/。
我检查.each和其他文本字段中的下拉字段。这是功能:
function checkFields(e) {
$$('.dropdown').each(function (element) {
if (element.selectedIndex === 0) {
alert('Fill all dropdown fields!');
Event.stop(e);
throw $break;
return;
}
});
if ($('sometext').value == '') {
alert('Fill the input!');
Event.stop(e);
return;
}
alert('OK!');
}
但如果其中一个下拉列表为空,我无法阻止进一步执行脚本。 Event.stop(e)似乎仅在第二部分中用于输入字段。
期望的行为:
问题出在第1步。我的脚本不会停在这里,警报,但不会停止。任何的想法?谢谢!
答案 0 :(得分:0)
function checkFields(e) {
var dropdownsokay = true;
$$('.dropdown').each(function (element) {
if (dropdownsokay && element.selectedIndex === 0) {
alert('Fill all dropdown fields!');
Event.stop(e);
dropdownsokay = false;
}
});
if(dropdownsokay) { //only check textfield if all the dropdowns are okay
if ($('sometext').value == '') {
alert('Fill the input!');
Event.stop(e);
return;
}
alert('OK!');
}
}