如何防止表格提交冒泡

时间:2014-08-02 07:40:02

标签: javascript preventdefault event-bubbling

我的表单在提交时调用函数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();
}

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

1 个答案:

答案 0 :(得分:3)

在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);">