在JQuery对话框中输入Click文本框不会触发__doPostBack



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();

最新更新