组合:打开mailto和表单提交

时间:2018-04-18 20:34:06

标签: forms post onclick mailto

单击一次打开mailtoto窗口和test.php的帖子形式的组合不起作用。有什么建议?

<form id="myForm" action="test.php" method="post">
<input type="hidden" name="someName" value="helloworld" />
<a href="mailto:..." 
onclick="document.getElementById('myForm').submit();">
Submit
</a>
</form>

2 个答案:

答案 0 :(得分:0)

检查以下解决方案以忽略href属性,并专注于仅使用onclick来执行您需要的操作

function submit() {
  window.open('mailto:mail@example.org', '_blank');
  document.getElementById('myForm').submit();
  return true;
}
<form id="myForm" action="test.php" method="post">
  <input type="hidden" name="someName" value="helloworld" />
  <a href="#" onclick="return submit();">
      Submit
    </a>
</form>

如果您需要同时使用hrefonclick,请查看以下替代解决方案

function submit() {
  document.getElementById('myForm').submit();
  return true;
}
<form id="myForm" action="test.php" method="post" onsubmit="alert('Ok')">
  <input type="hidden" name="someName" value="helloworld" />
  <a href="mailto:mail@example.org" target="_blank" onclick="return submit();">
      Submit
    </a>
</form>

答案 1 :(得分:0)

@Wael:谢谢。第二种解决方案与此相当。

<form id="myForm2" action="test.php" method="post">
<input type="hidden" name="someName" value="helloworld" />
<a href="mailto:mail@example.org" target="_blank" onclick="document.getElementById('myForm2').submit();">Submit 2</a>
</form>

缺少的目标属性是问题。

在Firefox中,它可以根据需要运行。在Chrome中它会导致 1.打开邮件客户端 2.帖子test.php 3.使用url mailto:mail@example.org(和焦点)

打开一个新的浏览器选项卡

使用您的第一个解决方案是一样的。如何避免3。?