JQuery弹出对话框中有一个文本框。文本框上的Keypress
事件运行良好,只捕获回车键。我想在文本框的回车键上触发__doPostBack
,但无法成功。
以下是JQuery对话框
asp.net
<div id="popupdiv" title="Basic modal dialog" class="abc" style="display: none">Enter Password
<asp:TextBox ID="pass" onkeypress="return chkDiscountEnter(this);" ClientIDMode="static" runat="server" CssClass="textcss" ></asp:TextBox>
<asp:Button ID="btnDiscountAtEnd" runat="server" style="display:none;" Text="Button" OnClick="btnDiscountAtEnd_Click" />
JQuery捕获文本框的按键输入事件
<script>
function chkDiscountEnter(e) {
$(document).keypress(function (e) {
if ($("#pass").hasClass('textcss') && (e.keycode == 13)) {
__doPostBack('<%=btnDiscountAtEnd.UniqueID%>', "");
//alert("hi");
return true;
}
});
}
</script>
这样的do回发意味着在页面加载事件中,您必须获取传递的值——它不能直接调用按钮代码存根。
但是,您当然可以激发窗体上该按钮的.click方法/事件,从而获得相同的结果。
我会将clientID模式添加到该按钮中,但假设您有这个:
<asp:Button ID="btnDiscountAtEnd" runat="server" style="display:none;"
Text="Button" OnClick="btnDiscountAtEnd_Click" ClientIDMode="Static" />
所以,现在在你的js中,只需这样做:
$('#btnDiscountAtEnd').click();