簡體   English   中英

多個AJAX聯絡表單。 如何在一頁上覆蓋多種形式的代碼

[英]Multiple AJAX Contact form. How to overwrite this code for multiple forms on one page

我有一個簡單的一頁網站。 那里有15個具有相同ID且使用簡單PHP構建的相同聯系表單。 我的麻煩:AJAX僅使用第一個ID。 其他所有表格均以“謝謝”打開白頁。 我的代碼:

$(function () {

    $('#contact-form').validator();

    $('#contact-form').on('submit', function (e) {
        if (!e.isDefaultPrevented()) {
            var url = "contact.php";

            $.ajax({
                type: "POST",
                url: url,
                data: $(this).serialize(),
                success: function (data)
                {
                    var messageAlert = 'alert-' + data.type;
                    var messageText = data.message;

                    var alertBox = '<div class="alert ' + messageAlert + ' alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' + messageText + '</div>';
                    if (messageAlert && messageText) {
                        $('#contact-form').find('.messages').html(alertBox);
                        $('#contact-form')[0].reset();
                    }
                }
            });
            return false;
        }
    })
});

我只有一個解決方案-為所有聯系表單設置不同的ID,然后在JS中手動定位它們。 但是我認為這段代碼不是很好的實踐,並且沒有經過優化。 請幫助覆蓋此代碼。 我將對此有所幫助。

ID在頁面上必須唯一。 這就是為什么它不起作用。

對多個元素使用相同的ID並不是一個好習慣。 所有元素都可以共享一個類名。

暫無
暫無

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

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