私のコードでは、テキストボックスのfocusout
イベントにバインドされたAjax参照があります。指定されたデータが無効である場合、Ajaxリクエストはエラー・メッセージを表示します。また、フォーム上に「キャンセル」ボタンがあります。このボタンをクリックすると、リクエストのあるフィールドを含むいくつかのフィールドが非表示になります。ただし、テキストボックスに無効な値が指定されている場合は、CancelボタンをクリックするとAjaxリクエストが発生し(テキストボックスのフォーカスが失われるため)、エラーメッセージが表示されます。特定のボタンをクリックしたときにjQueryイベントを無視する方法はありますか?
キャンセルボタンをクリックすると、このAjaxイベントはで、は無効になります。したがって、ユーザーが無効なエントリを入力したとしても、エラーメッセージが表示されずにフォームが閉じます。
これは可能ですか?
コードは基本的には、このです:
$('#txtPostalCode').focusout(function() {
postalCodeLookup($(this).val()); // ajax method wrapper
});
$('button#cancelButton').click(function() {
$('#txtPostalCode').attr('disabled', true).addClass('disabled'); // applies CSS style to make textbox look like a label
$('#txtPostalCode').val($('#oldPostalCode').val()); // restore old value
});
私はそれが起動しますので、テキストボックスに無効なエントリがあるかどうクリックする前に、focusout火災以来、フォームを「取り消す」ことができません言ったようにajaxリクエストを送信し、エラーメッセージを表示します。この問題は、ユーザが無効な郵便番号を入力して間違いを認識してからフォームをキャンセルしようとすると、ユーザビリティの観点からですが、フォームは有効な郵便番号を入力するまでキャンセルされませんこれはフォームが実際にキャンセルするときにオーバーライドされます)。
だけでなく、これは私が要求を受け取ったときに心に浮かん最初のものだったことを聞いために私が何をしたいのか、私はすべてだを処理するためのより良い方法があれば:)
あなたはいくつかのコードを投稿することができますか? –