我正在創建一個簡單的表單,並且我想在表單提交併成功驗證之後向控制檯寫入輸入的值。但是,當我去測試當前的進度時,我輸入了一段隨機文本,甚至在控制檯中都沒有顯示出來。下面是代碼我現在(不包括任何註釋掉的代碼):爲什麼不顯示錶格值?
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script language="Javascript">
window.onload = function() { // So the DOM can be defined
function validateForm() {
var form = document.forms['encrypt']['text'];
if(form == "") {
alert("Enter piece of text to encrypt");
return false;
} else {
console.log(form.value);
}
}
}
</script>
</head>
<body>
<form name="encrypt" action="#" onsubmit="return validateForm()">
Text: <input type="text" name="text">
<input type="submit" name="Submit and Encrypt!">
</form>
</body>
</html>
即使當我輸入什麼,並提交表單,警報不會彈出。還有其他職位與形式問題有關,但他們與我的沒有任何關係。我的代碼有問題嗎?有什麼問題,我該如何解決它?
編輯:我意識到window.onload
只在窗口加載時執行它內部的代碼。之後,所有功能都不復存在。除了刪除onload
處理程序之外,我必須在體內重新定位驗證功能。
不會將'document.forms'設置爲'null'嗎? –
對不起,你認爲哪一行是「那個」? – Bemmu
您放棄了'window.onload'處理程序,並且深入瞭解,我使用'document.forms'引用了窗體。這是'validateForm()'聲明中的第一行。 –