【问题标题】:calling javascript function on OnClientClick event of a Submit button在提交按钮的 OnClientClick 事件上调用 javascript 函数
【发布时间】:2013-06-03 11:12:00
【问题描述】:

在我的 asp.net 页面中,我有三个文本框和一个按钮。
前两个文本框用于从用户那里获取值,第三个文本框用于显示前两个框的总和。

我正在调用一个 javascript 函数来对这些值求和,并在该 BUTTON 的 OnClientClick 事件上显示结果值。

JS 函数工作正常,但是当我按下按钮获取总和时,它会在第三个文本框中显示结果,然后页面正在回发,结果值从第三个文本框中消失。

为什么按钮会调用回传?
我不希望页面在点击提交按钮时被后退。

欢迎提出任何建议。

【问题讨论】:

    标签: c# javascript asp.net button


    【解决方案1】:

    OnClientClick="SomeMethod()" 该按钮的事件,默认返回“true”,所以在该函数之后它会回发

    用于解决方案

    //use this code in BUTTON  ==>   OnClientClick="return SomeMethod();"
    
    //and your function like this
    <script type="text/javascript">
      function SomeMethod(){
        // put your code here 
        return false;
      }
    </script>
    

    【讨论】:

    • 我已经在javascript函数的末尾添加了“return false”,即使它正在发生。
    • 确保在按钮中有这样的调用方法 OnClientClick="return SomeMethod();"
    【解决方案2】:
    <asp:Button ID="btnGet" runat="server" Text="Get" OnClick="btnGet_Click" OnClientClick="retun callMethod();" />
    <script type="text/javascript">
        function callMethod() {
            //your logic should be here and make sure your logic code note returing function
            return false;
    }
    </script>
    

    【讨论】:

      【解决方案3】:

      上述解决方案必须有效。不过你可以试试这个:

      OnClientClick="return SomeMethod();return false;"
      

      并从方法中删除 return 语句。

      【讨论】:

      • return false; 在这个答案中有什么用处,我相信它永远不会执行,因为 return SomeMethod() 将在返回值后停止其余的执行
      猜你喜欢
      • 2011-09-05
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2018-07-18
      • 2010-12-14
      相关资源
      最近更新 更多