0

私のjquery:

 <script src="js/jquery-1.4.4.js" type="text/javascript"></script>
 <script src="js/jquery.validate.js" type="text/javascript"></script>
    <script type="text/javascript">

       $(function() {
            var v = $("#form1").validate({
                ignore: ':hidden',
                rules: {
                    txtTest: { required: true }

                },
                messages: {
                    txtTest: "User name is required."

                }

            });

            $("#btnTest").click(function() {
                if (v.form()) {
                    alert("Success");
                }
                else {
                    alert("Fail");
                }
            });
        });

    </script>

私のHTMLは次のとおりです。

 <input type="text" id="txtTest" />
 <input type="button" id="btnTest" value="Test" />

txtTest空白ですが、発火します。状態alert("Success");に入らないでください。発火しないでください。firebugにエラーは表示されません。間違いを見つけることができません。ありがとう。elsealert("Fail");

4

2 に答える 2

0

電子メールhttp://jsfiddle.net/LjMQ2/1/でさらに動作デモhttp://jsfiddle.net/Xc3d5/を 参照してください

検証elementAPI を参照してください: http://docs.jquery.com/Plugins/Validation/Validator/element#element

の使用v.form()は何もしません。使用.elementしてから、検証する要素を渡します。残りのデモはそれを明確にします。

お役に立てれば :)

コード

var v = $("form").validate({
    submitHandler: function() {
        console.log('successful submit');
        return false;
    }
});

$("#btnTest").click(function() {
    if (v.element('#txtTest')) {
        alert("Success");
    }
    else {
        alert("Fail");
    }
});
于 2012-07-04T05:14:24.260 に答える
0

あなたが抱えている唯一の問題は、フォーム内の各入力または選択にname属性が必要なことです。

したがって、入力は次のようになります。

<input type="text" id="txtTest" name="txtTest" />

それ以外は、すべてのデモは私には問題なく見えます-@Tats_innitデモをこれに簡略化しました: http://jsfiddle.net/ryleyb/LjMQ2/2/

フォームの送信が成功または失敗したときに特定のことを行う必要がある場合、適切な場所はsubmitHandlerまたはinvalidHandlerです。検証をトリガーしたい場合は、$('form').submit().

于 2012-07-04T15:17:54.107 に答える