我用HTML创建了一个表单,在每个字段上都使用了onblur事件,它工作得非常好。问题是,当我单击submit按钮(它会将数据发送到一个servlet)时,即使数据是无效的,它也会被提交。这是一个例子。

<html>
<head>
<script>
function check()
{
    if(checkName()==true)
        return true;
    else{
        alert('vhvh');
        return false;
    }
}
function checkName()
{
    var uname=document.enq.Name.value;
    var letters = /^[A-Za-z, ]+$/;
    if(uname.match(letters))
    {
        document.getElementById('Name').style.borderColor = "black";
        return true;
    }
    else
    {
        document.getElementById('Name').style.borderColor = "red";
        //alert('Username must have alphabet characters only');
        //uname.focus();
        return false;
    }
}
</script>
</head>
<body>
<form name="enq" method="post" action="Enquiry" onsubmit="check()">
<input class="textbox" id="Name"style="margin-top:10px;font-size:16px;" type="text" name="Name" placeholder="Full Name" onblur="checkName()" required /><br><br>
<input class="button" type="submit">
</form>
</body>
</html>

我怎样才能解决这个问题?

最佳答案

使用
<input class="button" type="button">
然后像这样设置一个onclick事件:
<input class="button" type="button" onclick="this.submit()">
所以你可以在限制数据之前操作它。

07-24 09:51
查看更多