【问题标题】:Choose button while pressing enter button按下回车键时选择按钮
【发布时间】:2010-11-13 09:31:50
【问题描述】:

我的 asp.net 网络表单中有一个提交按钮和返回按钮。按回车时我需要使用提交按钮,但它会转到返回按钮。

请帮忙...

【问题讨论】:

    标签: .net asp.net webforms button form-submit


    【解决方案1】:

    将您的部分包装在面板中 - 然后您可以使用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”属性吗?我正在使用视图,现在没有面板
    • 否 - 该属性只是说明是使用浏览器提交行为还是使用标准的 asp.net 回发行为。 msdn.microsoft.com/en-us/library/…
    【解决方案2】:

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

    <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。当用户按 Enter 键时,我有一个 正在触发而不是登录按钮。在表单上设置默认按钮就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多