私はasp.net formviewコントロールを持っています。ユーザーが変更を加えてjqueryを使ってこれを試してみるまで、Update/Cancelボタンを無効にします。次のコードはFireFoxで動作し、フォームが挿入モードで開かれたときにIEで動作します。しかし、フォームが編集モード(IE)で開かれ、ページが開いたときにポピュレートされると、ボタンは1秒間に無効になりますが、再び有効になります。JQuery Change()関数IEの問題
これは現在使用しているものです。
// Handle the document.ready event:
$(document).ready(function() {
// Disable the save button
$("input.button")
.attr("disabled", "disabled")
.removeClass("button")
.addClass("button-disabled");
// Hook up event handler to enable save button when a change is made
$("input").change(function() {
$("input.button-disabled")
.removeAttr("disabled")
.removeClass("button-disabled")
.addClass("button");
});
// Hook up the cancel confirmation dialog
$(".cancelEdit").click(function() {
showCancelConfirmation($(this));
return false;
});
})
私は、ユーザーがテキストを入力するまで、ボタンが無効になっていると、一時的に問題を解決し
$("input").bind("keypress", function() {
$("input.button-disabled")
.removeAttr("disabled")
.removeClass("button-disabled")
.addClass("button");
});
に有効イベントハンドラのコードを変更しました。ただし、このメソッドで問題になっているのは、ユーザーがテキスト(IEのみ)をもう一度削除し、AJAX Toolkitカレンダーを使用していてボタンが有効になっていないということです。
フィールドでクリックするとすぐにボタンを有効にするために関数内の 'クリック'キーワードを使用できますが、これはajaxカレンダー入力の問題に役立ちません。
どのように私はこの問題を解決することができますか?