2014-10-28 50 views
0

我不明白我在这里做错了什么....几乎所有的尝试都是在未经验证的情况下提交表单。我不知道是什么原因导致这个问题在这里工作了4个小时,每次我点击提交按钮,它会直接提交成功的页面...任何人都可以帮助我吗?表单验证不起作用,对于未经验证提交的gettting

<script type ="text/javascript"> 
function validate(){ 
if(document.orderForm.firstName.value==""){ 
document.getElementById('errors').innerHTML = "Please Enter a First Name"; 
document.orderForm.fistName.focus(); 
return (false); 
} 
if(document.orderForm.lastName.value == ""){ 
document.getElementById('errors').innerHTML = "Please Enter a Last Name"; 
document.orderForm.lastName.focus(); 
return (false); 
} 
if(document.orderForm.address.value == ""){ 
document.getElementById('errors').innerHTML = "Please Enter a address"); 
document.orderForm.address.focus(); 
return (false); 
} 
if(document.orderForm.city.value == ""){ 
document.getElementById('errors').innerHTML = "Please Enter a City"); 
document.orderForm.city.focus(); 
return (false); 
} 
if(document.orderForm.postalCode.value == "" || 
document.orderForm.postalCode.value.length != 6){ 
document.getElementById('errors').innerHTML = "Please Enter a correct PostalCode"); 
document.orderForm.postalCode.focus(); 
return (false); 
} 
if(document.orderForm.province.value == "Select"){ 
document.getElementById('errors').innerHTML = "Please Select your province") 
return (false); 
} 
if(document.orderForm.widget1qty.value == "0" || document.orderForm.widget1qty.value == "" && 
document.orderForm.widget2qty.value == "0" || document.orderForm.widget2qty.value == "" && 
document.orderForm.widget2qty.value == "0" || document.orderForm.widget2qty.value == ""){ 
document.getElementById('errors').innerHTML = "Please Select at least one item") 
return (false); 
} 
else 
{ 
return(true); 
} 
} 
</script> 



    <form name="orderForm" method="POST" action="processForm.html" onSubmit="return validate();"> 
+0

看看这个[链接](http://www.w3schools.com/js/js_form_validation.asp)用于表单验证。 – 2014-10-28 05:23:59

+0

你的validate函数中有几个语法错误,比如'document.getElementById('errors')。innerHTML =“请输入一个地址”);',在这个结尾处有括号。 – Ravi 2014-10-28 05:32:29

+0

修正了错误,仍然不能正常工作 – 2014-10-28 05:41:18

回答

2

参照此示例代码,绝对解决你的问题

<html> 
<head> 
<title>Form Validation</title> 
<script type="text/javascript"> 
<!-- 
function validate() 
{ 
    if(document.myForm.Name.value == "") 
    { 
     document.getElementById("errors").innerHTML = "Please enter first name"; 
    document.myForm.Name.focus() ; 
    return false; 
    } 
    return(true); 
} 
//--> 
</script> 
</head> 
<body> 
<form action="processForm.html" name="myForm" onsubmit="return(validate());"> 
<table cellspacing="2" cellpadding="2" border="1"> 
<tr> 
    <td align="right">Name</td> 
    <td><input type="text" name="Name" /></td> 

<td><input type="submit" value="Submit" /></td> 
</tr> 
</table> 
</form> 
<div id="errors"></div> 
</body> 
</html> 
+0

真棒它的工作...非常感谢你的帮助 – 2014-10-28 07:46:31

+0

唯一的事情是,它不显示错误的列表,它只显示一次的错误。就好像它的第一个名字不存在,它会显示firstname错误,然后它会转到姓氏以检查它是否丢失,你知道如何在页面上显示错误的完整列表吗? – 2014-10-28 08:10:04

+0

好吧等待我会尽快回复您 – soundhiraraj 2014-10-28 08:15:16

-2

请使用下面的代码。它工作正常。

function validate() { 
    if (document.orderForm.firstName.value=="") { 
    document.getElementById("errors").innerHTML = `Please enter first name`; 
    document.getElementById("firstName").focus(); 
    return (false); 
    } 
} 


<form name="orderForm" onSubmit="return validate();"> 
    <input type="text" id="firstName" /> 
    <input type="submit" id="btnSubmit" value="submit" /> 
    <div id="errors"></div> 
</form> 

http://www.sharepointprog.com

+0

这与OP的发布样本有什么不同? – 2014-10-28 06:17:07

+0

它仍然提交从成功 – 2014-10-28 06:22:07