【问题标题】:Submit a Form when any of the link or button on the page is clicked单击页面上的任何链接或按钮时提交表单
【发布时间】:2014-03-27 03:17:46
【问题描述】:

我在一个页面中有多个链接和多个按钮。这些按钮是动态创建的链接。我不能在每一个上都有 onclick 事件。

当点击页面中的任何链接或按钮时,我想将表单对象提交到下一页。

HTML:

<a href="a.php"> 1 </a>
<a href="b.php"> 2 </a>
<input type="button" onclick="window.location('c.php')">
<form action="a.html" method="GET"> <input type="submit" value="d.php" /> </form>
....
<form action="#" name="frm1" method="POST">
<input type="hidden" name="i1" value="1">
<input type="hidden" name="i2" value="2">
....
....
</form>

在上面的例子中,

我想将 frm1 对象发布到链接(a.php 或 b.php 或或 c.php 或 d.php) 当相应的链接被点击时。

注意:或者,是否可以在当前页面链接更改上提交表单,而不是检查每个链接是否被点击......类似于onload 正文中的函数。有on exit功能吗?

【问题讨论】:

  • 请说明您要提交的具体内容
  • @PrestonS : 它可以在任何浏览器上运行吗?
  • @Moussawi7 : 我想将 frm1 对象提交到我网站的任何页面。
  • @PrestonS :我尝试了onbeforeunload 的样本,它在点击时不起作用。 &lt;script&gt; window.onbeforeunload = function(e) { alert ('Dialog text here.'); }; &lt;/script&gt; &lt;a href="new.html"&gt;aaa&lt;/a&gt;

标签: javascript jquery html


【解决方案1】:

您可以利用事件冒泡。在正文中添加一个 onclick 处理程序,其中包含更改和提交表单的代码,然后返回 false 以取消原始事件。

<body onclick="document.forms.frm1.submit(); return false;">
    <a href="a.php">Go TO a.php</a>
    <a href="b.php">Go TO b.php</a>
    <input type="button" onclick="window.location('c.php')" value="c.php" />
</body>

这是Fiddle

【讨论】:

  • 这甚至适用于非页面重定向选项。例如:&lt;input type="button"/&gt;
  • 函数form.submit();在做什么?
  • @logan,这只是您将用于提交表单的任何代码的存根。更新为正确的语法。
  • 如果有任何表单提交按钮,它就不起作用。说&lt;form action="a.html" method="GET"&gt; &lt;input type="submit" value="c.php" /&gt; &lt;/form&gt;它只适用于onclick事件
  • @logan,您没有将其指定为要求。重新访问您的问题并包含所有要求和代码,以获得适合您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多