下面的函數不工作,因爲我認爲它應該有。出於某種原因,只要validate函數返回false,循環就會中斷。這是爲什麼?Javascript行爲怪異
這裏是我的代碼:
function validateGroup(input) {
if (!input.value.match(/^[0-9]{0,2}$/)) {
$(input).addClass("invalidField");
return false;
}
$(input).removeClass("invalidField");
return true;
}
function validateClass(input) {
if (!input.value.match(/^[a-zA-Z0-9-]{0,9}$/)) {
$(input).addClass("invalidField");
return false;
}
$(input).removeClass("invalidField");
return true;
}
function validateData() {
var rows = document.getElementsByTagName("tbody")[0].getElementsByTagName("tr");
var valid = true;
for (var i = 0, arrayLength = rows.length; i < arrayLength; ++i) {
valid = valid && validateClass(rows[i].getElementsByTagName("input")[0]);
valid = valid && validateGroup(rows[i].getElementsByTagName("input")[1]);
valid = valid && validateGroup(rows[i].getElementsByTagName("input")[2]);
}
return valid;
}
非常感謝!
你是什麼意思的「休息」?當其中一個驗證函數返回'false'時,答案將是'false',因爲你只對其進行'&&'操作。 – 2009-12-16 15:21:43
哪個函數中斷,哪個函數返回false? – Upperstage 2009-12-16 15:22:09
使用螢火蟲,並通過它 – karoberts 2009-12-16 15:22:35