【发布时间】:2018-01-07 04:59:48
【问题描述】:
我遇到了一些涉及提交按钮的代码,其 onclick 属性为:onclick="validateForm();return false"。例如:
<!DOCTYPE html>
<html>
<head>
<title>form</title>
<script>
function validateForm() {
var name = document.forms["myForm"]["fname"].value;
if (name.trim() == "") {
document.getElementById("demo").innerHTML = "Name must be filled out!";
}
else
document.myForm.submit();
}
</script>
</head>
<body>
<div id="demo" style="color:red"></div><br>
<form name="myForm" action="formHandler.jsp" method="post" target="_blank">
Name: <input type="text" name="fname"> <br>
<input type="submit" value="Submit" onclick="validateForm();return false">
</form>
</body>
</html>
即使我在上面的示例中删除 return false,我也看不出任何区别。只要输入了文本字段,返回 false 就不会停止提交表单。那么,document.myForm.submit() 提交表单后立即使用“return false”的目的是什么?
【问题讨论】:
-
可能是把监听器从表单移到了按钮上,这是一个愚蠢的想法,因为表单可以在不点击按钮的情况下提交,因此避免了按钮的验证。通过脚本提交绕过了提交监听器。
-
当它无效并且您单击按钮时会发生什么?我敢打赌它的行为不一样。
标签: javascript html