2012-07-17 46 views
1

我使用Firefox/Firebug,试图通过一些jquery.validate()回调。不能打破jquery.validate回调

为什么下面的// Breakpoint行上的断点在点击提交按钮时不会触发?

<!DOCTYPE html> 
<head> 
    <script type="text/javascript" src="/library/scripts/lib/jquery-1.7.2.js"></script> 
    <script type="text/javascript" src="/Scripts/jquery.validate.js"></script> 
    <script type="text/javascript" src="/Scripts/jquery.validate.unobtrusive.js"></script> 
</head> 
<body> 
    <form action="/" method="post"> 
    <input data-val="true" data-val-required="This is required" id="BirthDate" 
      name="BirthDate" type="text" value="" /> 
    <span class="field-validation-valid" data-valmsg-for="BirthDate" 
      data-valmsg-replace="true"></span> 
    <p> 
     <input type="submit" /></p> 
    </form> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('form').validate({ 
       debug: true, 
       submitHandler: function() { 
        alert("Submitted!") // Breakpoint 
       }, 
       invalidHandler: function (form, validator) { 
        alert("Invalid!") // Breakpoint 
       } 
      }) 
     }); 
    </script> 
</body> 
</html> 

更新

事实上,它似乎并不像任何()选项生效的验证的。例如,我已经将debug: true添加到上面的示例中,并且根据它应该阻止提交表单的文档,它仍然提交表单。警报也没有被解雇。

但是,我已经确认validate()函数正在被调用,因为我可以通过它 - 只是没有回调。

+0

如果您可以逐步验证函数,您是否可以看到在那里使用了回调? – Bergi 2012-07-17 21:09:16

回答