0
我有一些驗證功能,另一個名爲「validation()」的函數來調用我所有的驗證函數。在提交表單之前,這個函數調用和函數調用依次運行,當其中一個返回false時,下一個函數不會調用。我的要求是我怎樣才能獨立地打電話給他們?
這裏是一塊我的代碼:如何獨立調用函數?
function IsEmail() {
rows = document.getElementById('txtRows').value.split('#');
types = document.getElementById('txtTypes').value.split('#');
var CorrectFormat = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
msg_req = "";
var flg = true;
for (i = 0; i < rows.length; i++) {
if (types[i] == "email") {
var ctrl_val = document.getElementById('ctrl-' + i).value;
if (!CorrectFormat.test(ctrl_val)) {
msg_req += "invalid format ! \n";
flg = false;
}
}
}
if (flg)
return true;
else
return false;
}
function validations() {
if (!(required_field()) || !(Is Email())) {
var str = "there are some errors :\n";
if (msg_req != "") {
str += msg_req;
alert(str);
}
msg_req = "";
return false;
}
else {
msg_req = "";
return true;
}
}
我可能是錯的,但似乎這兩個函數(required_field和ISEMAIL)有改變稱爲msg_req實例變量的副作用。我不太喜歡這樣的事情,最好將結果追加到本地變量msg_req中,如果你的第一個檢查變量是否爲空,那麼最好。 –