編集可能な GridView のテキスト ボックスに変更が加えられたときに、jQuery 関数で隠しフィールドの値を設定します。フォームには 2 つのボタンがあります。1 つは変更を保存するためのもので、もう 1 つは新しい値を使用して別のプロセスを実行するためのものです。2 番目のボタンが最初に押された場合に確認が表示され、変更が保存されなかったことをユーザーに伝えたいと思います。[はい] をクリックすると、変更が保存され、そのボタンのプロセスが実行されます。「いいえ」をクリックしても何も起こりません。変更が検出されなくても、常に確認が表示されるため、「return confirm('')」は使用できません。非表示フィールドに値がある場合 (この場合は「変更済み」) にのみ、確認が表示されます。さまざまな解決策を試しましたが、関数が存在しないか、他の null オブジェクトに関するエラーが発生します。
以下は、変更を検出し、非表示フィールドの値を「変更済み」に設定します。
$(function () {
$(".gv input.CAIFormat").bind('blur', function (e) {
$(this).val(CommaFormatted($(this).val()));
var change = $get('ctl00_BodyContentPlaceHolder_TabContainer1_tabSpaceDriver_hidSummaryTableChanged');
change.value = "changed";
});
});
非表示フィールドに値がある場合、asp.net ボタンに確認が表示されます。
<asp:Button ID="btnSaveSDDepartmet" runat="server" Text="Update Departments" />