1

jquery validate と $.ajax を一緒に使用する正しい方法は何ですか? フォームが検証に合格したら、Ajax 経由でデータを保存しようとしています。

jQuery(document).ready(function() {
    $('#np-submit').click(function() {

        if($("#newsletter-subscription").validate()) {

            var name = $("input#fullname").val();
            var email = $("input#email").val();
            var interest = $("select#interest").val();
            var dataString = 'name=' + name + '&email=' + email + '&interest=' + interest;
            //alert (dataString);return false;
            $.ajax({
                type: "POST",
                url: "../save_address.php",
                data: dataString,
                success: function() {
                    alert("Contact Form Submitted!");
                }
            });
        });

    $("#newsletter-subscription").validate({
        rules: {
            fullname: "required",
            email: {
                required: true,
                email: true,
            },
            interest: "required"
        },
        messages: {
            fullname: "Please enter a your first name.",
            email: "Please enter a valid email address.",
            interest: "Please select your area of interest."
        }
    });
    });
});
4

1 に答える 1

0

バリデータsubmitHandlerプロパティにコールバックを提供し、AJAX 要求を開始する必要があります。

submitHandlerにコールバックを提供し、フォームの AJAX 送信を開始する例を次に示します。

$.validator.setDefaults({   
    submitHandler: function(form) {
        $(form).ajaxSubmit(); 
    }
});

.ajaxSubmitjQuery のコア機能ではありません。これは、jQuery フォーム プラグインによって提供されます。

jQuery バリデータ プラグイン マニュアルsubmitHandlerで、オプション.validatorオブジェクトの残りの部分について読むことができます。

于 2012-06-14T10:57:07.587 に答える