我在提交之前应该检查表单字段的功能。我有一些选择(下拉字段)和一个文本字段。提交时不能为空。
脚本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。我的脚本不会停在这里,警告,但不会停止。任何想法?谢谢你!
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!');
}
}