2012-05-28 36 views
0

我需要添加一个变量或什么? D:请帮忙?javascript窗体验证?

<html> 
<head> 
<script language="javascript" type="text/javascript"> 
function sub() 
{ 
validateForm(); 
} 
function validateForm() 
{ 
if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ") 
    { 
    alert("First name must be filled out"); 
    } 
if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ") 
{ 
alert("Last name must be filled out"); 
} 
else 
{ 
window.location = "ok.html"; 
} 
} 
</script> 
</head> 

<body> 
<form name="myForm"> 
First name: <input type="text" name="fname"> 
<br> 
Last name: <input type="text" name="lname"> 
<br> 
<input type="button" value="Submit" onclick="sub()"> 
</form> 
</body> 
</html> 

好了,所以,我的代码工作那种 - 我不知道如何改变这种“别人的语句来得到它重定向到下一个页面,如果形式是有效的..我是否需要添加一个变量或...? 所以基本上代码做我想要的,直到你只输入姓氏字段,然后它显示错误消息,但它仍然重定向 -
我如何使它,所以代码重定向到成功页,如果两个字段都是有效的?

(我不知道很多关于JavaScript的:/我知道你能做到很多simplier但我们必须这样做,这样,所以我们强制代码来做到这一点或其他)

+2

请缩进您的代码。谢谢。 – ThiefMaster

+1

您可以添加一些布尔变量,如果每个条件都为true,则设置true,然后使用if语句检查这两个条件是否为true并从此处继续。尽管如此,这还是有一点点。身份证给你一个适当的解决方案,如果我没有在我的手机上。 – Brendan

回答

1

这应该诀窍:

<html> 
    <head> 
     <script language="javascript" type="text/javascript"> 
      function validateForm() 
      { 
       var worked = true; 

       if (document.forms.myForm.fname.value == "" || document.forms.myForm.fname.value == " ") 
       { 
        alert("First name must be filled out"); 
        worked = false; 
       } 
       if (document.forms.myForm.lname.value == "" || document.forms.myForm.lname.value == " ") 
       { 
        alert("Last name must be filled out"); 
        worked = false; 
       } 

       if (worked) 
       { 
        window.location = "ok.html"; 
       } 
      } 
     </script> 
    </head> 

    <body> 
     <form name="myForm"> 
      First name: <input type="text" name="fname"> 
      <br /> 
      Last name: <input type="text" name="lname"> 
      <br /> 

      <input type="button" value="Submit" onclick="validateForm();"> 
     </form> 
    </body> 
</html> 

有很多方法来做这个简单的任务,这就是你如何做一个变量。基本上,如果任何检查失败,变量worked被设置为false(表明某件事不起作用),并且只有当该变量保持不变(true),用户才能继续下一步。 PS:确定你的代码(看我的代码比你的代码更容易阅读吗?)。PPS:你绝对不应该仅仅依靠JS来验证你的表单,你也必须在你的服务器上检查它。有人可以轻松绕过这些检查,因为它们只是为了方便。

+1

非常感谢你的诅咒:D +哦对不起,我没有意识到D; – meow

+0

没问题,交配。 – corazza