在JavaScript中,我應該創建一個函數來檢查表單中的文本字段是否爲空。如果是,用戶點擊提交,用戶將不被允許繼續。我在w3schools上找到了我認爲合適的解決方案(http://www.w3schools.com/js/js_validation.asp)。我查過了比我記得更多的時間,一切似乎都是按順序的,但它不工作!相反,當單擊提交按鈕時,該網站調用不同的功能,我在它是不應該做的JavaScript ...表單驗證textfield無法正常工作?
HTML代碼
Other code
<p>
<form method="post" name="form" action="" onsubmit="return validateName()">
<label for="fullName">Namn: </label><input id="fullName" class="text" name="namn" type="text"> </input>
</p>
<p>
<label for="epost">Epost: </label><input id="epost" class="text" name="epost" type="email"> </input>
</p>
<p>
<input id="submit" type="submit" value="Skicka"> </input>
</p>
</form>
Other code
Javascript代碼
function validateName() {
var a = document.forms["form"]["namn"].value;
if (a == null || a == "") {
alert("Name required");
return false;
} else {
return true;
}
}
點擊提交按鈕應該調用上面的這個函數(validateName),而是調用這個函數:
function alert() {
return confirm("Do you really wish to leave this website?");
}
我已經多次查看了我的代碼,找不到任何似乎不合適的東西。你們能找到任何錯誤嗎?也許建議解決方案,解決我的問題,所以我的功能將正常工作?
如果有人能幫我解決這個問題,我將不勝感激!
嘗試註釋掉該報警功能。你的控制檯會出錯,你可以找出它從哪裏被調用。 – RayfenWindspear
另請注意,通過調用「alert」函數,您可以覆蓋默認警報函數。相反,您應該使用var alert = function(){}將您的函數定義封裝在本地化範圍內。 默認情況下,Javascript在全局範圍內聲明函數。 – RayfenWindspear
我明白了!應該看到我意外地將我的功能命名爲默認功能。謝謝! – Isus