根据管理层的要求,我需要打开用户的电子邮件客户端并按下按钮提交表单。我最初有
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链接?
答案 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";
});