MVC アプリケーションに多くのフィールドを持つフォームがあります。次のjavascriptを介してフィールドの変更を検出するためにjavascriptを使用しています:
var _changesMade = false;
// Catch any other changes made and flag model as changed.
$('form').bind('change', function () {
_changesMade = true;
$("#ContractorName").val(null);
$("#ContractDateApproved").val(null);
$("#Verified").attr('checked', false);
});
// Warn user if there are unsaved changes.
$(window).bind('beforeunload', function () {
if (_changesMade)
return 'There are unsaved changes which will be lost if you continue.';
});
ただし、別の方法で処理し、フォーム変更イベントで行われたデフォルトの変更を行いたくないフィールド (Verified というチェックボックス) が 1 つあります。
$('form').bind('change') に検証済みチェックボックスへの変更を無視するように指示する方法はありますか? チェックボックスの「クリック」イベントで別の方法で処理したい。
または、「変更」イベント ロジックで、フォーム内のどの要素によって変更イベントが発生したかを判断できる方法はありますか? そうすれば、変更されたのが Verified チェックボックスであるかどうかを確認し、イベントを無視できます。
ありがとう。