Webフォーム(asp.net)にテキストボックスがあります。ユーザーがすでにデータを入力している場合は、Enter キーを押すと、データがデータベースに更新されます。
これを実行する方法はありますか?
Dino Esposito はこれについて少し前に書いていました。カスタム コントロールは必ずしも必要ではありませんが、彼の JavaScript を使用できます。
パネルにラップされたコントロールがあり、DefaultButtonID プロパティが設定されている場合、ID で指定された目的のボタンをクリックすると、パネルは入力時にもポストバックをトリガーします。それは別の方法です。
function InitTextBox() {
//var _txt = $('#<%= txt.ClientID%>'); or
var _txt = $('input:[id*="txtId"]');
if (_txt.length < 1) return;
_txt.get(0).autocomplete = 'off';
_txt.on('keydown', function (evt) {
var _self = $(this);
event = evt ? evt : window.event;
if (event.keyCode == 13) {
if ($.browser.msie)
{ event.cancelBubble = true; event.returnValue = false; }
else { event.preventDefault(); }
if (_self.val().length > 0 && _self.val().match(/^\s*$/) == null)
__doPostBack(_self.attr('name'), '');
}
});
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitTextBox);
テキストボックスの自動ポストバックをfalseに設定してください