同时打开mailto并提交表单

时间:2013-05-20 00:32:05

标签: javascript html mailto

根据管理层的要求,我需要打开用户的电子邮件客户端并按下按钮提交表单。我最初有

window.location = "mailto:email@example.com";

作为提交输入的click事件的回调,但这不起作用。似乎表格快速提交。

使用window.open确实有效,但它会创建一个不合需要的空白窗口。

我也有想法阻止和延迟表单提交,如

window.location = "mailto:personalcounselor@gleim.com";
setTimeout(function () { 
    $(this).closest('form').trigger('submit');
}.bind(this), 1000); 
e.preventDefault();

这也有效,但对我来说似乎很粗略。

有没有办法提交表格并同时打开mailto链接?

1 个答案:

答案 0 :(得分:2)

我不知道这是否有效,但我确信稍微调整一下它应该有效并且你想要的结果是你想要的(如果它不适合它,它太长了以至于不适合评论我很乐意删除它!);

$("form").on("submit", function() {
     window.onbeforeunload = function() {
         window.location = "mailto:email@example.com";
     };
});

简单地说,在提交表单时,设置onbeforeunload事件以将位置更改为mailto。我认为这样做只会在提交表单时打开mailto,而不是在用户导航时打开。

我不知道这是否会起作用,或者它是多么的hacky,但我想我会投入两分钱!

<强>更新

On form submit, mailto from javascript with form values

这似乎有效,并经过其他人验证。

$("input[type=submit]").click(function(){
     window.location.href = "mailto:email@example.com";
});