大家好,我正在用javascript写一个非常简单的网页,我遇到了一些我无法理解的东西。相比之下,我从w3schools复制了关于表单验证的代码,并尝试将其与我的工作集成。但是,我的工作没有用,老实说我不知道为什么。如果只是不运行,任何人的帮助将不胜感激。
<!DOCTYPE html>
<html>
<head>
<title>Here is the javascript code </title>
<script type="text/javascript">
function validateform() {
var x = document.body.forms["example"]["firstname_"].value;
document.write("testing okay...made it into the function.");
if( x == NULL || x == "") {
document.write("testing okay it came into the if statement...Good.");
alert("Sorry, you didn't enter in the correct information");
}
return false;
}
</script>
</head>
<body>
<form name="example" onsubmit="return validateform( )" method="post" >
<input type="text" name="firstname_">
<input type="submit" value="Enter Information">
</form>
</body>
</html>
答案 0 :(得分:0)
这里有三件事:
var x = document.body.forms["example"]["firstname_"].value;
document.write
NULL
body
上使用的表单属性:
var x = document.forms["example"]["firstname_"].value;
在页面已加载时使用document.write
将导致写入新文档,替换当前页面,从而破坏页面。
NULL
也会抛出错误,因为它未定义使用小写的null
。
为什么您的代码没有执行;因为document.body.forms
引发了错误,停止了进一步的脚本执行。
您可以使用所有主流浏览器中的内置开发工具轻松自行调试此类错误。您可以使用 F12 来启动它们。