用于发送电子邮件的Javascript函数不起作用(固定命令打开outlook,而函数不起)
Javascript function for email sending is not working (fixed command opens outlook while function doesn't)
我正在创建一个网站,我必须将表单的文本作为电子邮件发送。我在正文之前运行脚本,所以函数不起作用,所以会阻塞整个脚本。我使用的功能是:
function Email(){
var command='mailto:blahblah@gmail.com?Subject=';
command=+ document.getElementById('subject').value;
command=+ "&body=";
command=+ document.getElementById('context').value;
window.location.href=command;
}
因此,基本上,用户在两个字段中输入电子邮件的主题和消息,我希望它作为电子邮件发送,但它不会像我使用固定命令时那样打开outlook。
我使用的HTML代码是:
<button onclick="Email();"> Send </button>
我更正了评论中提到的所有内容,现在我收到一个错误,说:
Firefox在/C:/…找不到该文件/NaN。检查文件名是否存在大写或其他键入错误。检查文件是否已移动、重命名或删除。
mailto链接只是用来邀请用户使用自己的邮件客户端发送电子邮件。您无法直接从应用程序中的javascript发送电子邮件。你必须将表单的内容发送到你的服务器,然后从那里通过电子邮件发送。有很多用于发送电子邮件的服务器端库(我使用nodemailer),或者你可以使用一个服务为你发送邮件,比如mailchimp或sendgrid。
之前回答的是什么,还有一件事。您需要在document.getElementById语句的末尾添加.value。否则,它将返回一个节点而不是一个值。
这是更新的html和javascript:
<form id="mailform">
subject <input type="text" id="subject">
context <input type="text" id="context">
<input type="submit" value="submit">
</form>
//javascript
function Email(){
var subject = document.getElementById('subject').value;
var context = document.getElementById('context').value;
var command='mailto:blahblah@gmail.com?Subject=';
command=+ subject;
command=+ "&body=";
command=+context;
window.location.href=command;
}
document.getElementById('submit').addEventListener('click', function(e){
e.preventDefault();
Email();
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- Node.js v6.2.0类扩展不是函数错误
- 比较从函数和生成的日期对象
- jQuery中是否内置了任何字符串格式化函数
- 用于发送电子邮件的Javascript函数不起作用(固定命令打开outlook,而函数不起)