我有一個循環,檢查是否44個字段爲空,並顯示爲null的錯誤消息。我遇到的問題是,即使有空字段,表單在大約2秒後提交。如果發生錯誤,我該如何防止表單提交?Javascript阻止表單提交
@using (Html.BeginForm("Create", "Table1_1", FormMethod.Post, new { onsubmit = "return validateit()", name = "myForm" }))
{
function validateit() {
var count = 0;
var track = 0;
for (var i = 0; i < fields.length; i++) {
var x = document.forms.myForm[fields[i][0]].value;
if (x === null || x === "" || x === " ") {
count++;
document.getElementById("demo" + (i + 1)).innerHTML = "<font style='color:red';>Error: " + fields[i][1] + "</font>";
track++;
}
else {
document.getElementById("demo" + (i + 1)).innerHTML = "";
track++;
}
if (count > 0 && track > 43) {
return false;
}
}
你有沒有真正放在你的回報錯誤行設置斷點,以確保它被擊中:
其他更好的方法將使用
required
是HTML5表單驗證? –你爲什麼要測試'null'?特別是使用身份比較器?一個空的input元素的'value',如果爲空,不會是'null',它將是空字符串。 – Robusto
它不,我不知道爲什麼。有44個領域得到檢查。我用警報取代了返回false,看看它是否進入,如果沒有提醒。 –