簡體   English   中英

Ajax表單提交兩次?

[英]Ajax form submitting twice?

我找不到錯誤,但是它兩次提交了表格。 請幫我我錯過的一切。

    $('#supplierForm').on('submit', function(e) {
                e.preventDefault();
                if ($(this).valid()) {
                    $.ajax({
                        async: false,
                        data: $("#supplierForm").serialize(),
                        url:  '{{ url('supplier_edit_new') }}',
                        type: 'POST',
                        success: function (data) {
                                window.location.reload();

                        }
                    });
                }
                return false;
            })

;

用於驗證腳本

$("document").ready(function(){

    $('#supplierForm').validate({
        errorClass: 'help-block',
        rules: {
            'line1': "required",
            'line2': "required",
            'suburb': "required",
            'state' : "required",
            'country':"required",


        },
        messages: {

            'line1':{required: "Please enter supplier's address."},
            'line2':{required: "Please enter supplier's address."},
            'suburb':{required: "Please enter  supplier's suburb."},
            'state':{required: "Please select a state"},
            'country':{required: "Please enter country"},
            'postcode':{required: "Please enter postcode"},

        },

        highlight: function (element) {
            $(element).parent().parent().removeClass("success").addClass("error");
        },

        unhighlight: function (element) {
            $(element).parent().parent().removeClass("error").addClass("success");
        }
    }); // validate
});

對於html

{{ form_widget(form.submit,{'attr':{'class':'btn btn-primary btn-large btn-style','value':'Save changes'} }) }} 
it generate 

<button id="ovc_bundle_productbundle_supplier_submit" class="btn btn-primary btn-large btn-style" value="Save changes" name="ovc_bundle_productbundle_supplier[submit]" type="submit">Save / Update Details</button>

嘗試這樣做以防止多次綁定事件,

$('#supplierForm').off('submit');
$('#supplierForm').on('submit', function(e) {
            e.preventDefault();
            if ($(this).valid()) {
                $.ajax({
                    async: false,
                    data: $("#supplierForm").serialize(),
                    url:  '{{ url('supplier_edit_new') }}',
                    type: 'POST',
                    success: function (data) {
                            window.location.reload();

                    }
                });
            }
            return false;
        })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM