提交按钮卡在"发送..."

时间:2018-06-18 16:41:59

标签: jquery html ajax forms

我的网站上有联系表格。填写完表单并单击“提交”后,该按钮将停留在“发送...”#34;但我仍然收到电子邮件。我认为它可能与我的代码的ajax部分有关?任何帮助都很值得赞赏。

JS:

$(function()
{
    function after_form_submitted(data) 
    {
        if(data.result == 'success')
        {
            $('form#reused_form').hide();
            $('#success_message').show();
            $('#error_message').hide();
        }
        else
        {
            $('#error_message').append('<ul></ul>');

            jQuery.each(data.errors,function(key,val)
            {
                $('#error_message ul').append('<li>'+key+':'+val+'</li>');
            });
            $('#success_message').hide();
            $('#error_message').show();

            //reverse the response on the button
            $('button[type="button"]', $form).each(function()
            {
                $btn = $(this);
                label = $btn.prop('orig_label');
                if(label)
                {
                    $btn.prop('type','submit' ); 
                    $btn.text(label);
                    $btn.prop('orig_label','');
                }
            });

        }//else
    }

    $('#reused_form').submit(function(e)
      {
        e.preventDefault();

        $form = $(this);
        //show some response on the button
        $('button[type="submit"]', $form).each(function()
        {
            $btn = $(this);
            $btn.prop('type','button' ); 
            $btn.prop('orig_label',$btn.text());
            $btn.text('Sending ...');
        });


                    $.ajax({
                type: "POST",
                url: 'handler.php',
                data: $form.serialize(),
                success: after_form_submitted,
                dataType: 'json' 
            });        

      });   
});

1 个答案:

答案 0 :(得分:0)

看起来您必须更新success

中的按钮
if(data.result == 'success')
{
    // get the button
    ...

    // reset the text.
    $btn.text('Original Text');