首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript -表单提交未停止

Javascript -表单提交未停止
EN

Stack Overflow用户
提问于 2016-06-30 06:34:14
回答 2查看 61关注 0票数 0

我有一个表单,我正试图阻止用户使用javascript进行双重提交。由于某些原因,即使处理程序函数返回false并且调用了event.preventDefault,表单仍然会多次提交。有人知道为什么吗?另外,我如何让它按预期的方式工作?

代码语言:javascript
运行
复制
document.getElementById('my_form').addEventListener("submit", function(evt){
    if ( validationFunction(document.getElementById('submit_button')) == false) {
        evt.preventDefault();
        return false;
    }
});

函数validationFunction(){ return false }

代码语言:javascript
运行
复制
<form method="post" id="my_form">
  <input name='textbox'>
  <input type="submit" id="submit_button">
</form>
EN

回答 2

Stack Overflow用户

发布于 2016-06-30 07:00:46

用一种简单的方式试试。像这样

HTML

代码语言:javascript
运行
复制
<form id="my_form">
<input name='textbox'>
<input type="button"  id="submit_btn">
</form>

JS

代码语言:javascript
运行
复制
document.getElementById("submit_btn").addEventListener("click", function(){

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

Stack Overflow用户

发布于 2016-06-30 07:13:19

代码语言:javascript
运行
复制
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();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38111139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档