【问题标题】:Do something javascript before asp.net anypostback在asp.net anypostback之前做一些javascript
【发布时间】:2012-03-28 03:05:29
【问题描述】:

我想在页面回发之前用 javascript 做一些事情。

如何在任何 asp.net 回发之前运行 javascript 函数?

$('form').submit(function () {
      alert('hello');
});

它不起作用... :(

【问题讨论】:

    标签: javascript asp.net postback


    【解决方案1】:

    在 2021 年,我完全摆脱了 jQuery。为此,我将 javascript 添加到我的页面:

    document.forms[0].addEventListener('submit', e => {
    if (conditionPreventingPostBack) {
        e.preventDefault();
        return false;
        }
    });
    

    【讨论】:

      【解决方案2】:

      我在asp.net forums 中找到了方法,它是代码隐藏中的一些代码。

      只需将其添加到您的 Page_Load 事件处理程序中,将 javaScript 字符串更改为您想要发生的情况。

      string scriptKey = "OnSubmitScript";
      string javaScript = "alert('RegisterOnSubmitStatement fired');";
      this.ClientScript.RegisterOnSubmitStatement(this.GetType(), scriptKey, javaScript);
      

      【讨论】:

      • +1 我知道这有多大了,但非常感谢!这对我帮助很大。
      【解决方案3】:

      试试这个?

          <form name="someform">
          <input type="submit" value="" />
      </form>
      <script type="text/javascript">
      document.someform.onsubmit = function  ( e ) {
          e = e|| window.event;
          if ( !confirm ( "sure?") ){
              e.returnValue ? ( e.returnValue = false ):  e.preventDefault();
          }
      }
      // then jquery version
      $("form").bind("submit", function  ( e ) {
          if ( !confirm ( "sure?" ) ){
              e.preventDefault();
          }
      })
      </script>
      

      【讨论】:

        【解决方案4】:

        尝试:

        $('form').submit(function () {
            return confirm('you sure?');
        });
        

        除非您返回true,否则不会提交表单,在此之前您可以做任何您想做的事情。 当然,它不必是confirm() 电话。

        【讨论】:

        • 很奇怪,你用什么浏览器测试?
        【解决方案5】:

        如果您想在 asp 的回发之前做一些客户端操作,请尝试使用 asp:buttonOnClientClick 属性,例如:

        <asp:Button OnClick="submit" OnClientClick="myPrePostbackFunction()" Text="Submit" runat="server" ... />
        

        【讨论】:

        • 我知道,但我在页面上有很多 asp 元素,我想在任何回发之前执行此代码,而不是特殊按钮或元素
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多