Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交前验证所有表单数据_Javascript_Html_Forms_Servlets - Fatal编程技术网

Javascript 提交前验证所有表单数据

Javascript 提交前验证所有表单数据,javascript,html,forms,servlets,Javascript,Html,Forms,Servlets,我已经用HTML创建了一个表单,并在每个字段上使用了onblur事件,它工作得非常好。问题是,当我单击submit按钮(将数据发送到servlet)时,即使数据无效,也会提交数据。这里有一个例子 <html> <head> <script> function check() { if(checkName()==true) return true; else{ alert('vhvh'); retu

我已经用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>

函数检查()
{
如果(checkName()==true)
返回true;
否则{
警报(“VH”);
返回false;
}
}
函数checkName()
{   
var uname=document.enq.Name.value;
变量字母=/^[A-Za-z,]+$/;
如果(不匹配(字母))
{   
document.getElementById('Name').style.borderColor=“黑色”;
返回true;
}  
其他的
{  
document.getElementById('Name').style.borderColor=“红色”;
//警报('用户名必须只有字母字符');
//uname.focus();
返回false;
}  
}


如何解决此问题?

有一个“onsubmit”事件,允许您控制表单提交。使用它来调用验证函数,然后才决定是否允许用户提交表单。

如果要阻止表单提交,必须按以下方式使用它:

<form onsubmit="return check()">

使用

然后放置一个onclick事件,如下所示:


因此,您可以在限制数据之前对其进行操作。

谢谢@Ni。现在我已经创建了一个函数,它将检查数据是否有效,并且工作得很好。但我仍然无法限制它向servlet提交数据。这是我的新方法的代码。函数check(){if(checkName()==true&&checkNumber()==true&&ValidateEmail()==true)alert('true');else alert('false');}@ParveenKumar如果函数返回false,表单将不会提交。@ParveenKumar我将答案中的链接更改为更好的站点它不是wokring,即使返回false,它也在提交数据。请将新代码添加到您的问题中,以便我可以提供帮助