javascript - 如何使用 Javascript、jQuery 将多个操作应用于提交按钮?

标签 javascript jquery html forms submit

我目前有一个包含 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 &amp; WINDOWS">OSX &amp; 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:

  1. 我服务器上的 formmail 脚本的 URL,例如 myexample.com/formmail.php
  2. 发送方式为POST
  3. 包含 formmail 收件人电子邮件地址的隐藏输入字段
  4. 包含电子邮件主题的隐藏输入字段

用户将继续被重定向到 othersite.com 页面,具体取决于他们点击的提交按钮。

任何使用 jQuery、javascript 或 PHP 的帮助将不胜感激。我是一名前端开发人员,这超出了我的技能范围!

谢谢

最佳答案

您不能直接通过 JavaScript 发送电子邮件。但是,您可以使用 window.open 启动带有预填电子邮件地址的电子邮件客户端:

window.open('mailto:test@example.com');

现在,如果这是您想要的,在您当前的表单中从按钮元素中删除 type="submit"属性,并在单击按钮时调用 JavaScript 函数,这将打开电子邮件客户端并提交您现有的表单:

<button name="OS_TYPE" value="OSX &amp; WINDOWS" onclick="submitMyForm()">OSX &amp; 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/

相关文章:

css - 当 parent 的 div 调整大小时自动缩放子滚动 div

html - 子菜单悬停显示限制

asp.net - asp.net、javascript 和 silverlight 的共享本地化?

javascript - div 水平滚动中的 Bootstrap 表不起作用

javascript - 获取音频集合的持续时间

javascript - d3js : How to select only x number of values from data

javascript - 如何将数据itemid的值添加到另一个元素

javascript - 具有可变高度的粘性标题

javascript - 按钮不会使用 jQuery 自行重新启用

javascript - CodeMirror 没有完全向下滚动,Cursor 隐藏在 div 后面