停止表单提交的一种方法是从JavaScript函数返回false。
当单击submit按钮时,将调用验证函数。我在表单验证中有一个案例。如果满足该条件,我将调用一个名为returnToPreviousPage();函数
function returnToPreviousPage() {
window.history.back();
}
我使用的是JavaScript和Dojo Toolkit。
而不是返回到上一页,它提交表单。如何中止此提交并返回上一页?
发布于 2011-12-29 14:30:04
您可以使用函数的返回值来阻止表单提交
<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>
在Chrome27.0.1453.116m的情况下,如果上面的代码不工作,请将set the event handler's parameter's returnValue字段设置为false以使其工作。
感谢山姆分享信息。
编辑:
感谢Vikram在validateMyForm()返回false时的解决方法:
<form onsubmit="event.preventDefault(); validateMyForm();">
其中,validateMyForm()是一个在验证失败时返回false的函数。关键点是使用name event。例如,我们不能使用e.preventDefault()
发布于 2011-12-29 14:02:58
使用防止默认设置
Dojo工具包
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();
});
}
发布于 2014-05-14 13:21:16
以下代码目前有效(在Chrome和Firefox中测试过):
<form onsubmit="event.preventDefault(); validateMyForm();">
其中,validateMyForm()是一个在验证失败时返回false
的函数。关键的一点是使用名称event
。例如,我们不能用于e.preventDefault()
。
https://stackoverflow.com/questions/8664486
复制相似问题