【问题标题】:Multiple On-click Events HTML Button多个点击事件 HTML 按钮
【发布时间】:2020-10-19 21:21:03
【问题描述】:

我只是想创建一个包含两个 onclick 事件的 HTML 按钮,但问题是第二个没有正确响应。这是下面的按钮标签:

<input class="btn btn-default btn-responsive" type="button" onclick="return confirm('Cancel Changes?'); location.href='${cancelLink}'" value="Cancel Changes"/>

由于 location.href 中的表达式语言,我一定做错了什么,但我不确定它是什么,因为我非常不熟悉在这些情况下使用表达式语言。我确实知道这个链接可以工作,因为如果我在带有href=${cancelLink} 的“a”标签中使用它,它就可以工作。任何帮助将不胜感激。

【问题讨论】:

    标签: javascript html dom-events buttonclick spring-expression-language


    【解决方案1】:

    除非您多次单击按钮,否则不会有多个 onclick 事件。

    您有一个单击事件侦听器,其中包含两个语句。

    这是您正在使用的功能:

    function () {
        return confirm('Cancel Changes?');
        location.href='${cancelLink}'
    }
    

    第一行包含return 语句,因此您永远不会到达第二行。

    如果你想有条件地做某事,那么使用 if 语句,而不是 return 语句:

    function () {
        if (confirm('Cancel Changes?')) {
            location.href='${cancelLink}'
        }
    }
    

    但是,您在这里所做的只是使用 JavaScript 来模拟常规链接:因此您应该使用常规链接:

    <a class="btn btn-default btn-responsive" 
       onclick="return !confirm('Cancel Changes?')"
       href="${cancelLink}">
           Cancel Changes
    </a>
    

    【讨论】:

      【解决方案2】:
      <body>
      
      <input class="btn btn-default btn-responsive" type="button" onclick="Click()" value="Cancel Changes"/>
      
      <script>
          
          
          function Click(){ confirm("cancel changes"); }
          
      
      </script>
      
      </body>
      
      

      函数应该单独写在JavaScript标签中

      【讨论】:

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