【问题标题】:How to Prevent Bubbling For Form Submit如何防止表单提交冒泡
【发布时间】:2014-08-02 07:40:01
【问题描述】:

我的表单在提交时调用函数 GenerateWords 并返回 false。

<form id="3Form" onsubmit="GenerateWords(this); return false;">

这会导致 Google 跟踪代码管理器实施出现问题,因为它不会冒泡到表单提交侦听器。

我理解 event.preventDefault();需要使用并返回 false 删除但不知道如何实现。我目前的 javascript 是:

function GenerateWords(F) {
var strWords = F.words.value;
if ... condition is false
    return false;
}
if ... condition is false
    return false;
}
vars declared
for (var i = 0; i < ctLines; i++) {
    var strLine = arrLines[i];
    strLine = Trim(strLine.replace(/[\r]/g,""));
    if successful condition
    }
}
F.result.value = oResult.join("");
F.result.focus();
}

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: javascript preventdefault event-bubbling


    【解决方案1】:

    在 javascript 中试试这个:

     function GenerateWords(F,ev) {  // event object 
        ...
        if(someCondition)  // condition when the form should not be submitted.
        ev.preventDefault();
        }
    

    您可以从表单标签中删除return false; 并传递事件引用

    <form id="3Form" onsubmit="GenerateWords(this,event);">
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多