0

我想阻止用户在表单中提交数据,但是当我用 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;
        }

有没有其他方法可以离开提交按钮而不将其类型更改为按钮?

4

3 回答 3

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.connect(form, "onsubmit", function(evt) {
    evt.preventDefault();
    window.history.back();
});
于 2013-03-15T18:28:06.480 回答
0

只需将函数绑定到表单的提交事件。您不需要更改输入类型:

myForm.submit = function valider(formulaire)
        {
            if(//my test)
            {
                formulaire.envoyer.type = "submit";
                formulaire.envoyer.submit();
                return true;
            }

            return false;
        }
于 2013-03-15T18:26:58.907 回答
0

为什么要更改按钮的类型?

做吧onclick="return valider(this.form)"。返回 false 将阻止提交。

于 2013-03-15T18:28:25.643 回答