1

我有一个网络表单(asp.net)的文本框。当用户已经键入数据时,他们将按 Enter 键,以便将数据更新到数据库。

有什么办法可以做到这一点?

4

2 回答 2

1

Dino Esposito 不久前曾写过这方面的文章。您不一定需要自定义控件,但可以使用他的 JavaScript。

如果您有一个包裹在面板周围的控件,并且您设置了 DefaultButtonID 属性,则面板也将通过单击 ID 指定的所需按钮触发回发。那是另一种方式。

于 2012-12-10T15:19:55.777 回答
1
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,请

于 2012-12-10T16:03:59.240 回答