Javascript - 表单提交不停止

时间:2016-06-29 22:34:14

标签: javascript html forms

我有一个表单,我试图阻止用户使用javascript进行双重提交。出于某种原因,即使处理函数返回false并且调用了event.preventDefault,表单仍将提交多次。谁知道为什么?另外,我如何按预期工作?

document.getElementById('my_form').addEventListener("submit", function(evt){
    if ( validationFunction(document.getElementById('submit_button')) == false) {
        evt.preventDefault();
        return false;
    }
});

功能 validationFunction(){ 返回false }

<form method="post" id="my_form">
  <input name='textbox'>
  <input type="submit" id="submit_button">
</form>

2 个答案:

答案 0 :(得分:1)

以简单的方式尝试。喜欢这个

HTML

<form id="my_form">
<input name='textbox'>
<input type="button"  id="submit_btn">
</form>

JS

document.getElementById("submit_btn").addEventListener("click", function(){

document.getElementById("my_form").submit(); // if validation is true run this
});

答案 1 :(得分:1)

document.getElementById('my_form').addEventListener("submit", function(evt){
  if ( validationFunction(document.getElementById('submit_button')) == false) {

        // anything here

        evt.preventDefault();
        return false;
    }

    // anything here

    event.preventDefault();
});