【问题标题】:Enter Click in JQuery dialog textbox does not trigger __doPostBack在 JQuery 对话框文本框中输入单击不会触发 __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>

【问题讨论】:

    标签: jquery asp.net


    【解决方案1】:

    这种做回发意味着在页面加载事件中,你必须拿起传递的值——它不能直接调用你的按钮代码存根。

    但是,无论如何,您肯定可以触发表单上该按钮的 .click 方法/事件 - 从而获得相同的结果。

    我会为该按钮添加 clientID 模式,但假设你有这个:

    <asp:Button ID="btnDiscountAtEnd" runat="server" style="display:none;" 
                 Text="Button" OnClick="btnDiscountAtEnd_Click" ClientIDMode="Static" />
    

    所以,现在在你的 js 中,这样做:

     $('#btnDiscountAtEnd').click();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多