Javascript onclick=";validateForm();返回false";?

Javascript onclick=";validateForm();返回false";?,javascript,html,Javascript,Html,我遇到了一些涉及submit按钮的代码,其onclick属性是:onclick=“validateForm();return false”。例如: <!DOCTYPE html> <html> <head> <title>form</title> <script> function validateForm() { var name = document.forms["myForm"]["fname"].value;

我遇到了一些涉及submit按钮的代码,其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>

形式
函数validateForm(){
var name=document.forms[“myForm”][“fname”].value;
如果(name.trim()==“”){
document.getElementById(“demo”).innerHTML=“必须填写名称!”;
}
其他的
document.myForm.submit();
}

名称:
即使在上面的示例中删除returnfalse,我也看不到任何区别。只要输入文本字段,返回false不会阻止表单提交。那么,在document.myForm.submit()提交表单之后立即使用“return false”的目的是什么

它用于
document.myForm.submit()
未提交表单时,即在错误情况下。编写它的更好方法可能是让
validateForm
控制返回值:

function validateForm() {
    var name = document.forms["myForm"]["fname"].value; 
    if (name.trim() == "") {
        document.getElementById("demo").innerHTML = "Name must be filled out!";
        // Error; cancel the form submission
        return false;
    }

    // Just let the browser continue submitting; no need to .submit()
    return true;
}


名称:

检查工作示例:

函数validateform(){
var name=document.myform.name.value;
var password=document.myform.password.value;
如果(name==null | | name==“”){
警报(“名称不能为空”);
返回false;

}否则如果(password.length可能将侦听器从表单移动到了按钮,这是一个愚蠢的想法,因为表单可以在不单击按钮的情况下提交,因此避免了按钮的验证。通过脚本提交绕过了提交侦听器。当它无效并且您单击按钮时会发生什么?我打赌它的行为不一样。
return真的< /COD>语句是多余的。--)Rog:我不喜欢多类型函数,但是考虑(这里是表单)<代码> var ISFALID//\W/.Test[(.fNo.Value);如果(*.ISHALLATION){/*如果FALSE */}返回有效;{/COD>分离关注点,并且只有一个返回语句。@罗布:这不适合验证多个条件。
<form name="myForm" action="formHandler.jsp" method="post" target="_blank"
      onsubmit="return validateForm()">
    Name: <input type="text" name="fname"> <br> 
    <input type="submit" value="Submit"> 
</form>