【问题标题】:Detecting that a button/submit returning false检测到按钮/提交返回 false
【发布时间】:2015-11-17 14:35:26
【问题描述】:

我有这个简单的javascript:

window.onclick = function test(e) {
    if(e.which == 1)
    { if(e.target.type == 'submit')
      {  // Actions here
      }
    }
}

我在页面某处有一个(提交)按钮,该按钮具有 onclick 属性 在某些条件下返回 true,在其他条件下返回 false。

有没有办法检测何时按下按钮/提交按钮,

  • 如果它成功执行了所有附加到它的 onClick/onSubmit/onChange 属性?
  • 或者,如果它失败并因任何条件而终止? (在我的例子中,return false 语句)

【问题讨论】:

  • 您可以使用按钮函数的回调(或提交成功函数)来触发警报/设置变量/翻转布尔值/在控制台中输入消息。检查输出,你就会知道发生了什么。
  • 无论如何你可以举一个关于我显示的代码如何实现这一点的代码示例?例如:e.target.callback = true? (我肯定不会工作^^)

标签: javascript


【解决方案1】:

一种变通方法(通过声明全局范围的 javascript 变量)-

<input type="submit" onclick="SubmitOnClick();" id="myBtn" value="Click" />

javascript代码:

<script type="text/javascript">
var g_isSuccessfulSubmit = null;

    window.onclick = function test(e) {
            if(e.which == 1)
            {
                if (e.target.type == 'submit')
                {
                    var isSuccessful = g_isSuccessfulSubmit;
                    g_isSuccessfulSubmit = null;
                    // Actions here
                }
            }
        }

    function SubmitOnClick() {
        var isSuccessful = false;
        //if (successfully executing) 
        //{
        //    isSuccessful = true;
        //}

        g_isSuccessfulSubmit = isSuccessful;
        return isSuccessful
 }
</script>

【讨论】:

  • 缺点是我可能不得不重写所有关于这些 onclick/onchange/onsubmit 属性的代码。最好不要那样做......
猜你喜欢
  • 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
相关资源
最近更新 更多