我目前有一个包含 3 个提交按钮的表单,这些按钮通过 URL 传递“FULLNAME”、“EMAIL”和“DB”变量,具体取决于单击哪个提交按钮 - 这些值然后填充下一页上的字段。
<form action="https://othersite.com/index.html?DB=BOTH&values[FULLNAME]&values[EMAIL]" method="get" name="form" >
<input type="hidden" name="DB" value="BOTH" />
<input type="text" id="fullname" name="values[FULLNAME]" >
<input type="email" id="email" name="values[EMAIL]" >
<button type="submit" name="OS_TYPE" value="OSX & WINDOWS">OSX & WINDOWS</button>
<button type="submit" name="DB" value="OSX" formaction="https://othersite.com/index.html?DB=OSX&values[FULLNAME]&values[EMAIL]">OSX ONLY</button>
<button type="submit" name="DB" value="WINDOWS" formaction="https://othersite.com/index.html?DB=WINDOWS&values[FULLNAME]&values[EMAIL">WINDOWS ONLY</button>
</form>
上面的表单可以正常工作,根据点击的提交按钮在“othersite.com”页面上的“BOTH DB”、“OSX DB”或“WINDOWS DB”表单上预填充 FULLNAME 和 EMAIL 字段(两者都被点击)默认值)。
但是,我还需要发送一封电子邮件,其中包含 FULLNAME、EMAIL 和 DB 类型(如果可能的话)的值,最好使用我指定的 formmail.php:
- 我服务器上的 formmail 脚本的 URL,例如 myexample.com/formmail.php
- 发送方式为POST
- 包含 formmail 收件人电子邮件地址的隐藏输入字段
- 包含电子邮件主题的隐藏输入字段
用户将继续被重定向到 othersite.com 页面,具体取决于他们点击的提交按钮。
任何使用 jQuery、javascript 或 PHP 的帮助将不胜感激。我是一名前端开发人员,这超出了我的技能范围!
谢谢
最佳答案
您不能直接通过 JavaScript 发送电子邮件。但是,您可以使用 window.open 启动带有预填电子邮件地址的电子邮件客户端:
window.open('mailto:test@example.com');
现在,如果这是您想要的,在您当前的表单中从按钮元素中删除 type="submit"属性,并在单击按钮时调用 JavaScript 函数,这将打开电子邮件客户端并提交您现有的表单:
<button name="OS_TYPE" value="OSX & WINDOWS" onclick="submitMyForm()">OSX & WINDOWS</button>
并创建一个 JavaScript 函数来打开电子邮件客户端并提交您的表单:
function submitMyForm() {
window.open('mailto:test@example.com');
document.getElementById("myForm").submit(); //attach an id to your form
}
关于javascript - 如何使用 Javascript、jQuery 将多个操作应用于提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558210/