在 JQuery 对话框文本框中输入单击不会触发 __doPostBack
Posted
技术标签:
【中文标题】在 JQuery 对话框文本框中输入单击不会触发 __doPostBack【英文标题】:Enter Click in JQuery dialog textbox does not trigger __doPostBack 【发布时间】:2021-07-08 19:01:59 【问题描述】:我在 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>
【问题讨论】:
【参考方案1】:这种做回发意味着在页面加载事件中,你必须拿起传递的值——它不能直接调用你的按钮代码存根。
但是,无论如何,您肯定可以触发表单上该按钮的 .click 方法/事件 - 从而获得相同的结果。
我会为该按钮添加 clientID 模式,但假设你有这个:
<asp:Button ID="btnDiscountAtEnd" runat="server" style="display:none;"
Text="Button" OnClick="btnDiscountAtEnd_Click" ClientIDMode="Static" />
所以,现在在你的 js 中,这样做:
$('#btnDiscountAtEnd').click();
【讨论】:
以上是关于在 JQuery 对话框文本框中输入单击不会触发 __doPostBack的主要内容,如果未能解决你的问题,请参考以下文章
如果我单击对话框中的项目(ListBox、CheckBox 等),则不会触发 OnLButtonDown(),但如果单击背景或静态文本,它会触发
jQuery - 更改 iframe src 时仅在第二次单击时触发
在 JS/jQuery 中触发 keypress/keydown/keyup 事件?