按下回车键时选择按钮

5
我在我的asp.net webform中有一个提交按钮和返回按钮。我需要在按下回车键时使用提交按钮,但实际上却跳转到了返回按钮。
请帮忙解决这个问题...
2个回答

6

将你的部分放入一个面板中 - 然后你可以使用DefaultButton属性来设置提交按钮,使其在按下回车键时成为默认按钮。

<asp:Panel runat="server" ID="MyPanel" DefaultButton="MySubmitButton">
    ... put your form here
    <asp:Button runat="server" ID="MyCancelButton" Text="Cancel" />
    <asp:Button runat="server" ID="MySubmitButton" Text="Submit" />
</asp:Panel>

我可以使用按钮的“UseSubmitBehaviour”属性吗?我现在正在使用视图,没有面板。 - Jaison
不,该属性仅表示是使用浏览器的提交行为还是使用标准的ASP.NET回发行为。http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx - Scott Ivey

1

你需要为你的表单或面板设置默认按钮

<form id="form1" runat="server" defaultbutton="MySubmitButton">

或者在JS中拦截按键:

示例使用YUI来帮助 :)

YAHOO.util.Event.onDOMReady(function() {
    YAHOO.util.Event.addListener(document, "keydown", enterKeyPress);

});

function enterKeyPress(ev) {

    ev || (ev = window.event);
    var code = (ev.keyCode ? ev.keyCode : (ev.charCode ? ev.charCode : ev.which));

    // pressed ENTER get TAB
    if (code == 13) {
        try {

          var button = document.getElementById("you button client id");
          if (button != null) button.click();

        }
        catch (Error) {
            logError(Error);
        }
        YAHOO.util.Event.preventDefault(ev);
    }

}

+1 为默认按钮。当用户按下回车键时,我的asp:imageButton/触发了登录按钮,将表单上的默认按钮设置为登录按钮解决了这个问题。 - Randy Eppinger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接