多形式交互

时间:2015-01-26 18:55:13

标签: html forms

尝试通过另一种形式定义的按钮提交表单时遇到问题。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Test submit</title>
</head>
<body>
  <form id="dummyForm" name="dummyForm">
    <button onclick="sendTheForm();">Submit other form</button>
  </form>
  <form id="formID" name="formName" action="viewpost.php" method="POST">
    <input type="hidden" value="something" id="inputA1" name="inputA1" />
    <input type="hidden" value="something" id="inputA2" name="inputA2" />
  </form>
  <script type="text/javascript">
  function sendTheForm() {
    document.forms['formName'].submit();
  }
  </script>
</body>
</html>

实现预期重定向的唯一方法是更改​​以下行:

onclick="sendTheForm();return false;"

我不明白表单提交是这样的。谁能解释一下?

提前感谢!

2 个答案:

答案 0 :(得分:2)

  1. 您点击提交按钮
  2. JavaScript事件处理程序触发
  3. 另一种表单开始提交
  4. 提交按钮执行默认操作
  5. 第一个表单提交,取消其他表单的提交过程

答案 1 :(得分:0)

由于this post提示,我从Quentin得到了正确答案。 为什么首先提交触发器?导致按钮的默认类型是提交类型,但不同的浏览器使用不同的默认类型。检查Button Reference

下一行按预期工作,没有返回false 技巧!

<button type="button" onclick="sendTheForm();">Submit other form</button>