Heim > Fragen und Antworten > Hauptteil
P粉4574458582023-08-21 12:43:06
使用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粉7948519752023-08-21 10:22:41
您可以使用函数的返回值来阻止表单的提交
<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()