2013-01-02 196 views
2

我有下面的代码验证表单。但是,此代码中存在一个错误。当我在用户名中输入内容并将密码留空时,表单接受它。它不应该接受它。任何想法为什么?登录表单验证

<html> 

    <head> <link type = "text/css" type="text/javascript" rel="stylesheet" href="css/bootstrap.css" /> 
       <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script> 
     <script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script> 

     <script src="js/bootstrap.js"> </script> 
    <script> 
     $(document).ready(function() { 
    $('form').validate({ 
     submitHandler: function(form) { // for demo 
      alert('valid form'); 
      return false; 
     } 
    }); 
});</script> 
    </head> 


<body> 
<form class="well span6"> 

    <label>Username</label> 
    <input type="text" id="myName" class="span3 required" placeholder="Type your username here..." /> <br/> 

     <label>Password</label> 
    <input type="text" id="myPassword" class="span3 required" placeholder="Type your password here..." /> <br/> 

    <input type="submit" class ="btn btn-primary"> 
    <!-- <button class=""> Clear <br/></button><br/> --> 

</form> 

</body> 

</html> 
+0

你试过给一个ID的形式? – coder

+0

@Adam是正确的,您必须为每个输入都有一个名称属性。 – Anil

+0

陌生人,'.validate()'插件工作得很好,就像[this jsfiddle](http://jsfiddle.net/hHytZ/)中所演示的那样。你的问题是在你的代码中的其他地方,我建议你构建一个jsfiddle演示。 – Sparky

回答

6

我很确定这个验证插件就像字段上的'name'属性。

我已经添加在每个输入name="myNamename="myPassword,它似乎加入了“name”属性,对用户名和密码字段在此jsfiddle

<form class="well span6">  
    <label>Username</label> 
    <input name="myName" type="text" id="myName" class="span3 required" placeholder="Type your username here..." /><br/> 

     <label>Password</label> 
    <input name="myPassword" type="text" id="myPassword" class="span3 required" placeholder="Type your password here..." /><br/> 

    <input type="submit" class="btn btn-primary"> 
</form> 
+0

这工作。谢谢。 – Stranger

2

合作尝试。

+0

@Sparky看到这个我的朋友http://jsfiddle.net/hHytZ/3/,你删除字段“名称”,你看到原来的错误 –