【发布时间】:2013-05-14 12:08:39
【问题描述】:
应管理层的要求,我需要打开用户的电子邮件客户端并通过单击按钮提交表单。我最初有
window.location = "mailto:email@example.com";
作为提交输入的点击事件的回调,但这不起作用。好像表单提交很快。
使用window.open 确实有效,但它会创建一个不受欢迎的空白窗口。
我也有防止和延迟表单提交的想法
window.location = "mailto:personalcounselor@gleim.com";
setTimeout(function () {
$(this).closest('form').trigger('submit');
}.bind(this), 1000);
e.preventDefault();
这也有效,但对我来说似乎很粗略。
有没有办法同时提交表单和打开mailto链接?
【问题讨论】:
-
假设您正在尝试提交表单(这将导致回发),有一些合理的选择... 1) 将您的提交功能更改为导致您预期的成功行为的 ajax 方法2)创建一个隐藏链接,您可以使用 href="mailto:email@example.com".. 触发点击
-
@BrettWeber 这是一个可能的解决方案,但它仍然会导致延迟(他们必须等待请求完成)。我宁愿让浏览器显示表单提交的可见延迟
-
很抱歉过早地添加了该评论,已编辑以显示另一个选项。作为事后的想法,您是否尝试通过将提交按钮包装在具有 mailto href 的链接中来更改 html?
-
@BrettWeber 不......这真的有效吗?立即尝试
-
@BrettWeber 似乎不起作用,但有趣的想法
标签: javascript html mailto