我想阻止用户在表单中提交数据,但是当我使用JavaScript测试它时,它不会返回true。
我正在使用一种方法,我将提交按钮的类型设置为type="button"
而不是type="submit"
:<input type="button" name="envoyer" onclick="valider(this.form)">
然后我使用这个JavaScript脚本:
function valider(formulaire)
{
if(//my test)
{
formulaire.envoyer.type = "submit";
formulaire.envoyer.submit();
return true;
}
return false;
}
是否还有其他方法可以离开提交按钮而不将其类型更改为按钮?
答案 0 :(得分:1)
在普通的Javascript中
您可以使用函数的返回值来阻止表单提交
<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>
在jQuery中
$('#form').submit(function (evt) {
evt.preventDefault();
window.history.back();
});
在DOJO
dojo.connect(form, "onsubmit", function(evt) {
evt.preventDefault();
window.history.back();
});
答案 1 :(得分:0)
将函数绑定到表单的submit事件。您无需更改输入类型:
myForm.submit = function valider(formulaire)
{
if(//my test)
{
formulaire.envoyer.type = "submit";
formulaire.envoyer.submit();
return true;
}
return false;
}
答案 2 :(得分:0)
为什么要更改按钮的类型?
做onclick="return valider(this.form)"
。返回false将阻止提交。