送信ボタンのないjqueryダイアログにフォームがあります。代わりに、[OK] ダイアログ ボタンをクリックして送信します。
したがって、[OK] をクリックすると、次のようになります。
var data = $('#form').serialize();
$.post('page.php',data)
.success( function(result) {
// result might be description of an error or other problem, then I display error
...
// or ok, then I hide form and change OK button, so now it closes the dialog
...
myDialog.dialog( "option", "buttons", [{ text: ok, click: function() { $(this).dialog("close"); } }] );
});
それは正常に動作します。フォームのデータは行であり、後でページのテーブルに表示されます。しかし、ユーザーがN行を送信し、3xNの新しい行を取得したという報告が何度かありました。そのため、OK クリック機能が変更される前に、フォームを誤って 3 回送信してしまったようです。
これがどのように起こるかわかりません。OKボタンをダブルクリックまたはトリプルクリックするために多くのことを試みましたが、結果は
- データは一度送信されました
- フォームは非表示になりませんでした
- フォームが非表示になっていない場合でも、[OK] をクリックするとダイアログが閉じ、何も送信されませんでした
だから私はあなたのアドバイスが必要です。彼女が同じフォームを何度も送信しないようにするにはどうすればよいですか?