我创建了一个简单的页面来测试它。
我的页面将有一个文本框和一个按钮。如果单击按钮,服务器端的按钮单击事件将在文本框中写入一些文本。
然后我有一个 jQuery 函数来检测文本框的输入按键。
如果它检测到输入键,它将单击该按钮。
标记:
<asp:TextBox ID="txtTest" runat="server"></asp:TextBox>
<asp:Button ID="btnClick" runat="server" Text="test" onclick="btnClick_Click" />
<script type="text/javascript">
$('#<%=txtTest.ClientID%>').keypress(function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { //Enter keycode
$('#<%=btnClick.ClientID%>').click();
}
});
</script>
代码隐藏:
protected void btnClick_Click(object sender, EventArgs e)
{
txtTest.Text = "btnclick click event";
}
它适用于每次刷新。
然后我实现了一个ScriptManager。
标记:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtTest" runat="server"></asp:TextBox>
<asp:Button ID="btnClick" runat="server" Text="test" onclick="btnClick_Click" />
<script type="text/javascript">
$('#<%=txtTest.ClientID%>').keypress(function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { //Enter keycode
alert('hihi');
$('#<%=btnClick.ClientID%>').click();
}
});
</script>
</ContentTemplate>
</asp:UpdatePanel>
代码隐藏:
protected void btnClick_Click(object sender, EventArgs e)
{
txtTest.Text = "btnclick click event";
}
然后它只适用于第一次输入,螺母不适用于第二次输入。
有人遇到过这种问题吗?