0

在文本框中输入文本后如何设置默认按钮。这就是我到目前为止所拥有的。但它不起作用

<td>
                    <asp:Label ID="displayrowLabel" runat="server" Text="# of Rows Displayed:"></asp:Label>
                    <asp:TextBox ID="displayRowQuery" runat="server"></asp:TextBox>
                    <asp:Button ID="displayRowButton" runat="server" Text="Click" OnClick="ddlPageItems_SelectedIndexChanged" />
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="displayRowQuery"  ValidationExpression="[1-9][0-9]*"  ErrorMessage="Wrong Input" />
                </td>               
            </tr>
        </table>            
    </PagerTemplate>

我尝试添加一些 jquery 来处理这个问题:

<script type="text/javascript">
    $("displayRowQuery").keyup(function (event) {
        if (event.keyCode == 13) {
            $("displayRowButton").click();
        }
    });

4

2 回答 2

2

如果您有一组需要默认按钮的控件,您还可以为 asp:panel 设置默认按钮。

基本上:

<asp:Panel ID="aPanel" runat="server" DefaultButton="btnSubmit2">

    <!-- Some Controls Here -->

    <asp:Button UseSubmitBehavior="true" ID="btnSubmit2" Text="Submit" runat="server" onclick="btnSubmit2_Click" />

</asp:Panel>

http://www.aspnettutorials.com/tutorials/controls/defaultbutton-panel-aspnet.aspx

于 2011-08-09T00:36:18.793 回答
0

您的 id 选择器中缺少“#”:

    $("#displayRowQuery").keyup(function (event) {
        if (event.keyCode == 13) {
            $("#displayRowButton").click();
        }
    });

编辑:正如@Nicolás 所指出的,您可能必须将 id 选择器替换为ClientId

$("#displayRowQuery") => $("#<% = displayRowQuery.ClientId %>") 
$("#displayRowButton") >= $("#<% = displayRowButton.ClientId %>")
于 2011-08-08T23:42:38.387 回答