2016-12-24 7 views
0

ajaxFormプラグインを使用してajax経由でフォームを送信しようとしています。私が抱えている問題は、実際にフォームを提出するためにフォームを2回提出する必要があるということです。下記のコードを参照してください。何か助けていただければ幸いです。jQuery AjaxFormプラグインを2回送信する必要があります

$(document).on('click', 'button.submit-btn', function() { 
    alert('Please wait...'); 
    setTimeout(function() { 
    $('button.submit-btn').attr('disabled', true); 
    }, 50) 
    $('#send-form').ajaxForm(function() { 
     var currentAlert = $.jAlert('current'); 
     currentAlert.closeAlert(); 
     successAlert('Success!', 'The form has been submitted'); 
     $('button.submit-btn').attr('disabled', false); 
    }); 
}); 

<form action="" method="post" id="send-form"> 
    <button type="submit" class="submit-btn" name="send-modal-form" value="submit"></button> 
</form> 

私はそれをajaxSubmitに変更してからe.preventDefault()を追加しようとしました。しかし、フォームは私が試してみると全く提出しません。

あなたはseveralsエラー

1を持っているあなたのコードで

答えて

0

)ボタンを提出し、

使用タイプのボタンやリンク あなたが送信ボタンをクリックすると、ブラウザが自動的にフォームを送信しようを提出アヤックス試してみて、あなたは、JSを実行しているが、それは

2を提出防ぐことはできません)jAlert

に代わり、アラートjAlert

変更のアラートを使用します

3)このコードは、あなたがクリックでそれを追加しますが、あなたはので、ここで文書負荷 にそれを追加する必要がありますAJAX

$('#send-form').ajaxForm(function() { 
     var currentAlert = $.jAlert('current'); 
     currentAlert.closeAlert(); 
     successAlert('Success!', 'The form has been submitted'); 
     $('button.submit-btn').attr('disabled', false); 
    }); 

を実行し、観察者がコード

$(document).ready(function() { 

    $('#send-form').ajaxForm(function() { 
     var currentAlert = $.jAlert('current'); 
     currentAlert.closeAlert(); 
     successAlert('Success!', 'The form has been submitted'); 
     $('button.submit-btn').attr('disabled', false); 
    }); 
}); 

$(document).on('click', 'input.submit-btn', function() { 
    jAlert('Please wait...','Please wait...'); 
    setTimeout(function() { 
    $('button.submit-btn').attr('disabled', true); 
    }, 50) 
}); 

がここにありますされている初期化HTML

<form action="" method="post" id="send-form"> 
    <input type="button" class="submit-btn" name="send-modal-form" value="submit" /> 
</form> 
+0

こんにちは、私はあなたの訂正を試みましたが、残念ながらまだ提出するには2回のクリックが必要です。 – LearntoExcel

+0

私の修正は1つの問題を修正し、2番目の問題はブラウザのアラートを起動することです//警告( 'Please wait ...'); の代わりにjAlertを使用します。その後、jAlertで取得します。 var currentAlert = $ .jAlert( 'current'); – Emiliano

+0

こんにちは@Emilianoアラートは問題ではありません。アラートは、私が使用している別のプラグインの略語です。入力タイプをボタンに変更すると、フォームは現在提出されません。 – LearntoExcel

関連する問題