2013-04-03 58 views
2

我试图使用jQuery实现表单验证,但到目前为止我无法让它工作。我一直在阅读其他几个问题,但在我的路上没有人能帮助我。 我正在使用jquery验证插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 我的理解基本思想是给你的表单一个ID,并添加class =“required”到特定的输入字段,但到目前为止没有任何事情发生,并且它愉快地发布我的形成。另一个jquery表单验证问题

我的脚本是:

<script> 
      $(document).ready(function(){ 
       $("#validate").validate(); 
       }); 
</script> 

形式看起来是这样的:

<form action="" id="validate" method="post"> 
    <?do 
    { 
    ++$i; ?> 
    <button type="button" class="togbut" href="#<?echo $i;?>">Lijst voor <?echo $_SESSION['leerlingen'][$i];?> invullen</button> <br> 
    <div id="<?echo $i;?>" style="display:none"> <? 
    echo $_SESSION['leerlingen'][$i]; ?> 




      <fieldset> 
        <input type='hidden' name='ingevuld' id='ingevuld' value='1'/> 
        <legend>A. Leerprestaties:</legend> 
           <label>de prestaties blijven achter bij de capaciteiten</label> 
           <div><input type="radio" class="required" name="pr_ach_lp13<?echo ++$counter;?>" value="1"></div> 
           <div><input type="radio" class="required" name="pr_ach_lp13<?echo $counter;?>" value="2"></div> 
           <div><input type="radio" class="required" name="pr_ach_lp13<?echo $counter;?>" value="3"></div> 
           <div><input type="radio" class="required" name="pr_ach_lp13<?echo $counter;?>" value="4"></div> 
           <div><input type="radio" class="required" name="pr_ach_lp13<?echo $counter;?>" value="5"></div> 
     </fieldset> 
    </div> 

<? 
    } while($i<$_SESSION['num_rows']);?> 
     <input id="submit" type="submit" value="opslaan"> 
</form> 

可能有人请告诉我,我做错了什么?

+0

您的提交按钮不在小时内。你确定你提交表格吗? – Daniel

+0

不好意思,那是一个小姐型,它实际上是在表格里面。我已经在问题 – Jeroen

+0

中更正了它如何调用:'$(document).ready(function(){(“#validate”)。validate(); });' – Dmonix

回答

0

问题的一部分似乎是您以无效的方式编写了JavaScript。

 $(document).ready(function(){ 
     $("#validate").validate();//The instantion of form validator ends here 
      onsubmit: true, 
      onkeyup: false, 
      onfocusout: false, 
      onclick: false 
      //The options above appear as though they should be part of an object 
      //However they are free-floating and not contained in curly braces 
      //Nor are they submitted to validate() as a parameter; since they are 
      //technically outside the call to validate() 
      }); 

Dmonix建议您尝试调用验证没有额外的东西。就像这样:

 $(document).ready(function(){ 
     $("#validate").validate(); 
     }); 

,看看是否能工作

+0

此外;如果您发布的脚本是逐字记录的,那么您需要将type =“text/javascript”作为属性添加到文本标记中,以便正确执行。如下所示: Dogoferis

+0

评论你会发现我已经改变了这一点。但是现在我也在原始问题中更新了它。对困惑感到抱歉。 脚本类型应该不再需要html5,但我已经改变了它,但没有什么区别。 – Jeroen

+0

默认验证似乎只是检查设置了一个值;也许因为你正在验证的单选按钮都有自动传递的值。你是否想验证至少有一个单选按钮被选中? – Dogoferis

0

感谢您的建议,我已经找到了问题。由于我没有收到任何错误消息,我认为它应该在javascript源代码的调用中。我发现我错过了脚本源代码的结束标记,所以它没有找到插件。对不起浪费你的时间,谢谢你的建议!

+2

使用firebug来调试JS错误。调用未定义的函数时,您会在控制台中看到错误。 – Dmonix