阻止表单提交的JavaScript代码
P粉163465905
P粉163465905 2023-08-20 13:58:50
[HTML讨论组]
<p>停止表单提交的一种方法是从您的JavaScript函数中返回false。</p> <p>当点击提交按钮时,会调用一个验证函数。我在表单验证中有一个条件。如果满足该条件,我会调用一个名为<strong>returnToPreviousPage();</strong>的函数。</p> <pre class="brush:php;toolbar:false;">function returnToPreviousPage() { window.history.back(); }</pre> <p>我正在使用JavaScript和Dojo Toolkit。</p> <p>与其返回到上一页,它会提交表单。我该如何中止此提交并返回到上一页?</p>
P粉163465905
P粉163465905

全部回复(2)
P粉457445858

使用prevent default

Dojo Toolkit

dojo.connect(form, "onsubmit", function(evt) {
    evt.preventDefault();
    window.history.back();
});

jQuery

$('#form').submit(function (evt) {
    evt.preventDefault();
    window.history.back();
});

Vanilla JavaScript

if (element.addEventListener) {
    element.addEventListener("submit", function(evt) {
        evt.preventDefault();
        window.history.back();
    }, true);
}
else {
    element.attachEvent('onsubmit', function(evt){
        evt.preventDefault();
        window.history.back();
    });
}
P粉794851975

您可以使用函数的返回值来阻止表单的提交

<form name="myForm" onsubmit="return validateMyForm();">

并且函数如下:

<script type="text/javascript">
function validateMyForm()
{
  if(check if your conditions are not satisfying)
  { 
    alert("validation failed false");
    returnToPreviousPage();
    return false;
  }

  alert("validations passed");
  return true;
}
</script>

如果在Chrome 27.0.1453.116 m中上述代码不起作用,请将事件处理程序的参数returnValue字段设置为false

感谢Sam分享信息。

编辑:

感谢Vikram提供的解决方法,如果validateMyForm()返回false:

<form onsubmit="event.preventDefault(); validateMyForm();">

其中validateMyForm()是一个在验证失败时返回false的函数。关键点是使用名称event。我们不能使用例如e.preventDefault()

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号