1

私はFirefox/Firebugを使用しており、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> 

アップデート

実際には、validate()オプションのいずれも有効になっていないようです。たとえば、debug: true上記の例に追加しましたが、ドキュメントによると、フォームの送信が妨げられているはずですが、フォームは引き続き送信されています。アラートも発生しません。

ただし、validate()関数が呼び出されていることを確認しました。これは、コールバックではなく、それをステップスルーできるためです。

4

1 に答える 1

1

残念ながら、jquery.validate()オプションは、目立たない検証と組み合わせて使用​​すると機能しないようです。その参照をファイルから削除すると問題は修正されますが、もちろん、目立たない検証が失敗します。

そのため、検証イベントにフックするために別のソリューションを使用することになりました。

于 2012-07-18T14:18:40.867 に答える