私のアプリにはいくつかのjquery-ui-dialogがあります。ここでは、それらの間の共通のテンプレートがあります:私が何をしたいのですがどのようなjQueryバインディングajaxStartとajaxCompleteをフォームタイプにバインドしますか?
<div class="dialog-content">
<form accept-charset="UTF-8" action="/NOT-UNIQUE" class="NOT-UNIQUE" data-remote="true" id="NOT-UNIQUE" method="post">
<div class="ui-dialog-body">
all the fields
</div>
<div class="ui-dialog-footer">
<input class="button" id="NOT-UNIQUE" name="commit" type="submit" value="NOT-UNIQUE">
<input type="button" class="button" name="cancel" value="Cancel">
</div>
</form>
</div>
は.dialog-コンテンツフォームが送信され、いつでもある、ユーザーが複数回提出しないように、送信ボタンを無効にしています。
これまでのところ私が持っている:
$(".dialog-content").live("submit",function(){
// Comment AJAX UI, spinner, disable - Needs to be inside the submit to work dynamically
$("form", this).ajaxStart(function() {
// Disable button
$("input[type=submit]", this).attr("disabled", true);
});
$("form", this).ajaxComplete(function() {
// Re-enable button
$("input[type=submit]", this).removeAttr("disabled");
});
});
しかし、それは動作するようには思えません。目標は、すべてのダイアログに対してこれを記述する必要はなく、一度すべてのダイアログに対して機能させることです。
思考?
ああような単純なような関数を呼び出します。ダイアログのフォームはすべて、Rails 3のjQuery jsファイル(data-remote = "true"となる)によって駆動されています。確かにそれについてのカスタムイベントがあるかどうかわからない – AnApprentice
これを見つけた、どうすればこれらにバインドできますか? *リモート呼び出しの実行を処理します。次のコールバックを提供します: * * - AJAX:前 - 全部のbegings前に実行され * - AJAX:ロード - AJAX呼び出しを発射する前に実行される * - AJAX:成功 - ステータスが成功 *であるときに実行される - アヤックス:完了 - ステータスが完了すると実行されます * - ajax:エラー - エラーの場合にはエラーが発生します * - ajax:afterはajaxコールの最後に毎回実行されます – AnApprentice
? –