代码之家  ›  专栏  ›  技术社区  ›  flashnik

如何将html按钮设置为ASP.Net表单的默认按钮?

  •  0
  • flashnik  · 技术社区  · 16 年前

    嗯,我正试图让ASP.NET URL看起来像前面解释的那样用户友好 in this question asp:textbox 和 asp:button 在上面。我也设置了 onclientclick 属性调用JS函数,该函数通过设置 windows.location.href . 在Firefox中运行良好,但在IE和Opera中,浏览器首先导航到智能url,然后关闭连接并使用asp.net表单操作发送回发。

    我试图用html按钮而不是服务器按钮来解决这个问题。它可以工作,但问题是它不能设置为asp.net表单的默认值。所以“如果用户点击它,它就会工作。”。但是,如果用户在表单处于活动状态时只按enter键,那么表单将执行其操作,因此按钮不会被按下,JSURL重写也不会发生。那么我该如何解决这个问题呢?

    我的JS看起来像这样:

    function searchRedirect() {
        var query = $get('colSearch');
        window.location.href = 'colSearch?q=' + query.value;
        return false;
    }
    

    在search.aspx中我有

    <form id="MainForm" runat="server" method="get">
            <asp:TextBox id="colSearch" runat="server" Width="615px" CssClass="searchLine"></asp:TextBox>
            <input id="Button1" type="button" value="Search!" onclick="searchRedirect();" class="search" />
    

    我也试过了 asp:按钮 :

    <form id="MainForm" runat="server" method="get" defaultbutton="submitReqBtn">
            <asp:TextBox id="colSearch" runat="server" Width="615px" CssClass="searchLine"></asp:TextBox>
            <asp:Button runat="server" Text="Search!" ID="submirReqBtn" 
                onclientclick="searchRedirect();" CausesValidation="False" 
                EnableViewState="False" UseSubmitBehavior="False"></asp:Button>
    </form>
    
    2 回复  |  直到 9 年前
        1
  •  2
  •   Kris Krause    16 年前

    onclientclick事件需要返回false;

        2
  •  0
  •   lmsasu    16 年前

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

    推荐文章