电子邮件多次发送

时间:2017-10-24 19:40:33

标签: javascript php html wordpress

我编写了一个javascript代码,用于处理联系表单中的输入。使用Ajax我将输入信息发送到后端发送电子邮件。

然而,似乎我的代码以某种方式发送多个电子邮件而不是一个。 "电子邮件已发送"消息显示了几次。

有谁能告诉我出了什么问题?

JAVASCRIPT代码:

$(document).on('click', '.individual_contact', function(e) {
    e.preventDefault();
    var user_name = $('span#user-name').text();
    var recipient_name = $(this).attr('data-ind');
    console.log('recipient_name='+recipient_name);

    $("div#content").hide('fast');
    $("#section-form").show('fast');
    $("#section-form #recipient").attr('data-contact', recipient_name);
    $("#section-form #recipient").attr('placeholder', 'TO:  '+recipient_name.toUpperCase());
    $("#section-form #name").val('FROM:  '+user_name.toUpperCase());

    $('.submit_icontact').click(function(e) {
        var subject = $('input#subject').val();
        var message = $('textarea#message').val();

        e.preventDefault();
        var form = new FormData();
        form.append('user_email', ajaxobject.user_id);
        form.append('user_name', user_name);
        form.append('recipient_name', recipient_name);
        form.append('subject', subject);
        form.append('message', message);
        form.append('action', 'contact_individual');
        console.log(form);

        $.ajax({
            type: 'POST',
            url: ajaxobject.ajaxurl,
            enctype: 'multipart/form-data',
            cache: false,
            contentType: false,
            processData: false,
            data: form,
            dataType: 'json',
            success: function(response) {
                console.log('Email is sent');
            },
            error:function(err){
                console.log('err,error')
            }
        });
    });
})

2 个答案:

答案 0 :(得分:3)

每次点击.individual_contact时,都会向.submit_icontact添加另一个事件监听器。

.submit_icontact点击事件移出.individual_contact点击处理程序

答案 1 :(得分:1)

更改:

$('.submit_icontact').click(function(e) {

$('.submit_icontact').unbind().click(function(e) {