如何防止document.forms [0] .submit()提交表单?

时间:2012-11-11 00:45:53

标签: javascript jquery html forms post

这基本上是我的形式:

<form method="post" action="" onsubmit="checkallfields(); event.preventDefault();">
  <!-- My Stuff -->
</form>

这是我页面上的第一个表单。我有客户端字段验证,显然存储在函数checkallfields()中。但问题是,用户可能非常顽皮并打开控制台并输入document.forms[0].submit(),然后表单仍会提交。

如何防止这种情况?

3 个答案:

答案 0 :(得分:2)

你无法阻止它。这就是您需要进行服务器端验证的原因,这就是您应该始终进行服务器端验证的原因。客户端无法信任,我甚至不需要您的网页提交到您的服务器。

答案 1 :(得分:0)

我想到了这个问题,得到了自己的答案。在谷歌浏览器中测试过。

var i = document.forms.length;
while (i--) {
  document.forms[i].submit = function () {
    return false;
  }
}

这对你们有用吗?您可以在此处查看:http://jsfiddle.net/think123/ZRuYw/

答案 2 :(得分:0)

只需将文档上的该功能设置为false。

document.forms[0].submit = function () {
  return false;
}