- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须对现有代码进行修改,而且我正在努力使用 mailto 函数。我希望当我提交我的表单时,预填充的邮件会打开 Outlook(或配置的任何其他邮件程序),以便用户可以检查是否一切正常,然后提交带有表单数据的邮件。
我想使用 mailto:
因为目前该页面(在本地服务器上,而不是在 Internet 上)只能在 IE 上运行(最后一个开发人员使用了 ActiveX 数据对象,但它没有)不适用于 Edge/Chrome/Firefox)。
我已经尝试将 mailto:
放入表单的 action
标记中,但没有用,我也尝试了一些 javascript,但同样的事情发生了。此外,我的表单使用 $_SERVER['PHP_SELF']
全局变量提交给自身。
表格/代码很大,所以我只会把可能对你有用的部分帮助我。
这是我使用的表格:
echo "<FORM action=". $_SERVER['PHP_SELF'] . " name=\"form\" method=\"POST\">";
"my form here"
echo "<input type=\"submit\" name=\"Envoyer\" value=\"Send\"/>";
echo "</FORM>";
然后,我想从表单中获取数据,并在用户点击提交按钮时打开一个邮件程序,其中包含一封预填充的邮件,其中包含数据。
这是我使用的:
echo "<script>
var email = $maildest;
var subject = \"Request of the user\";
var emailBody = $MAIL;
window.location = \"mailto:\"+email+\"?subject=\"+subject+\"&body=\"+emailBody;";
echo "</script>";
echo "An OUTLOOK window opened with the informations you entered. <br/>Send the email so we can take it into account.<br/>
exit(0);
我没有收到任何错误消息,页面工作正常,但是当我点击提交按钮时没有任何反应,甚至邮件程序打开窗口或其他任何东西都没有。我确定我缺少某些东西,而且我对 php/html/javascript 有点生疏,所以我来这里寻求您的帮助。
最佳答案
如果你不回显内容,它会更容易阅读
如果这样做,您需要连接 PHP 样式并为 JavaScript 使用反引号
注意:您需要为带有 ${} javascript 变量的行加上单引号,否则 $ 会被解释为:
echo "<script>
var email = \"".$maildest."\";
var subject = encodeURIComponent(\"Request of the user\");
var emailBody = encodeURIComponent(\`".$MAIL."\`);"
echo 'window.location = `mailto:${email}?subject=${subject}&body=${emailBody}`;';
echo "</script>";
请注意 $MAIL 和最后一行的反引号,因为那里可能有换行符
还需要转义空格和特殊字符
查看控制台 - mailto 通常作为表单操作工作得更好
没有 echo :
?>
An OUTLOOK window opened with the informations you entered. <br/>Send the email so we can take it into account.<br/>
<script>
var email = "<?= $maildest ?>";
var subject = encodeURIComponent("Request of the user");
var emailBody = encodeURIComponent(`<?= $MAIL ?>`);
window.location = `mailto:${email}?subject=${subject}&body=${emailBody}`;
</script>
<?
exit(0);
?>
这是一个不使用服务器的版本:
window.addEventListener("load", function() {
document.getElementById("form").addEventListener("submit", function(e) {
e.preventDefault();
var email = this.email.value,
subject = encodeURIComponent("Request of the user"),
elements = this.elements,
emailTexts = [];
[...elements].forEach(function(ele) {
if (ele.type!="submit") emailTexts.push(ele.name + ":" + ele.value)
})
var emailBody = encodeURIComponent(emailTexts.join("\n"));
var loc = `mailto:${email}?subject=${subject}&body=${emailBody}`;
console.log(loc)
window.location = loc;
});
});
An OUTLOOK window will open with the informations you enter. <br/>Send the email so we can take it into account.<br/>
<form id="form" ....>
Email: <input type="text" name="email" value="" /><br/> Name: <input type="text" name="Name" value="" /><br/> Comment: <textarea name="Comment"></textarea><br/>
<input type="submit" />
</form>
关于javascript - 如何在自提交表单上使用 mailto?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57656608/
在我的网页中,我向 WCF 服务发出 Ajax 请求。如果服务抛出错误,则该错误将在 JSON 中传回。然后,JavaScript 错误处理程序会显示一个隐藏的 div,其中包含一个预先填充了我的详细
是否有办法阻止在 Chrome 中单击 mailto 链接时调用 onbeforeunload ?在 FF、Safari、IE 中运行良好。 google.load("j
是否可以将 mailto 放在另一个 mailto 的正文中? 我有 vb.net 代码,通过它我可以打开 Outlook 窗口。 我有以下代码, sMsg = User.Redirect("mail
我正在向我公司的不同用户发送电子邮件。我们的一些客户使用 Lotus Notes (8)。这些电子邮件由服务器生成。在这封电子邮件(HTML 格式)中,有一个指向“mailto”的链接: Please
我已经使用下面的代码让它正常工作了。所有 http url 在 webview 中打开,“tel:”链接在拨号程序中打开,“mailto:”链接在电子邮件客户端中打开。 但我的问题是如何将“mailt
我正在使用以下代码来允许我的 AngularJS 应用程序用户使用他们最喜欢的邮件客户端发送电子邮件,但是当我单击“发送”按钮时没有任何 react 。有人可以检查我的代码并告诉我我在这里缺少什么吗?
无论如何,我可以对空收件人使用“mailto”吗?我只想提供主题和邮件正文,然后用户可以在邮件上写入收件人地址。我尝试只写一个空格,但没有成功。 最佳答案 应该可以,我测试过。 mailto:?sub
我有一个带有“下订单”按钮的网站,其上方是产品列表和文本框,允许我为每种产品设置数量。 单击按钮后,它会发回并计算每种产品需要多少,然后我将其放入一个大字符串中,前面带有“mailto:order@b
我正在尝试在当前 html 页面之外的客户端生成一封电子邮件(更准确地说,是我的页面内名为“inc”的 div)。我陷入了第一步,我有以下代码: function emailCurrentPa
我目前设置了一个包含 5 个单选选项的表单。我有一个 switch 语句,具体取决于您选择的选项,并确定电子邮件的去向。 在我的交换机中,我有这段代码。 window.open("mailto:"+e
我已将商品添加到“购物车”中,该购物车只是 div 。当我添加它们时,我添加了 到最后让事情看起来整洁。完成后,用户可以点击链接和 div 的内容。已在链接中设置。当电子邮件打开时,所有项目都连接在一
是否有比 mailto 更好的替代方案?我们有一个 ASP.net 应用程序,用于填充用户默认电子邮件客户端的抄送字段。问题在于,当字符数超过 2000 时,URL 的字符限制会导致出现问题。 是否有
在我的网站上添加 mailto: 链接,但我想到用户可能没有设置客户端来处理它 我找到了this三年前的帖子,希望现在有一些可行的事情。我不一定需要弄清楚是什么在处理他们的 mailto 链接,而是需
我尝试发送一封带有附件的电子邮件,但它一直显示: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException:
我有一个这样的网址:http://localhost:9001/view/shopindex/display?keyword=test&searchPostcode=Postcode我使用 HTML
我有一个 JavaScript 代码,可以生成正文中带有链接的电子邮件。 某些链接内有空格,因此链接会被切断。 我尝试用asacii代码替换空格,但没有成功。 var lineBreak = "%0D
有人可以透露一些信息吗? 我正在建立一个网站,顶部有一个小丝带来触发邮件。单击功能区时,我希望它弹起。问题是,mailto: 同时触发,并且由于电子邮件客户端窗口出现在网站上,因此错过了功能区的弹跳效
我必须对现有代码进行修改,而且我正在努力使用 mailto 函数。我希望当我提交我的表单时,预填充的邮件会打开 Outlook(或配置的任何其他邮件程序),以便用户可以检查是否一切正常,然后提交带有表
我正在使用 JavaScript mailto 函数,当单击该按钮时,邮件会加载到同一选项卡中。如何在新选项卡中加载邮件? 这是我的代码: function mailJob(code) {
我正在尝试从需要在移动设备上运行的网络应用程序(带有 ionic 框架的 angularjs)中使用 mailto,以便在点击时打开默认的电子邮件应用程序。 我的第一次尝试是使用 href="mail
我是一名优秀的程序员,十分优秀!