Chrome form.submit()处理程序忽略必填字段

时间:2014-02-24 19:41:36

标签: javascript html forms google-chrome required

我希望使用javascript在.submit()上调用<form>会在每个<input/>上调用验证函数,就像点击提交按钮一样。

我做错了吗?这是设计的行为吗?

<form name="nameForm" action="#" method="post"
      onsubmit="this.name.value = this.name.value + ' (' + location.hostname + ')'">
  <input type="text" name="name"
         placeholder="Your name" required="required" value="" />
  <input type="submit" name="commit" value="Submit" />
</form>
<p>This form has a required field.</p>
<p>
  But <a href="javascript:document.nameForm.submit()">this link</a>
  which calls the form's "submit()" function doesn't fire the "required" handler.
</p>

忽略提交时的控制台错误。我有一个真正的提交行动。

1 个答案:

答案 0 :(得分:1)

解决方法是从链接中调用document.nameForm.commit.click(),但我仍然不明白为什么提交操作不同。