これをテストするためだけに、簡単なページを作成しました。
私のページにはテキストボックスとボタンがあります。ボタンをクリックすると、サーバー側のボタンクリックイベントにより、テキストボックス内にテキストが書き込まれます。
次に、テキストボックスの入力キー押下を検出するjQuery関数があります。
Enterキーの押下を検出すると、ボタンをクリックします。
マークアップ:
<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";
}
次に、最初の入力でのみ機能し、ナットは2番目の入力では機能しません。
誰もこのような問題に直面したことがありますか?