Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 发送主题中带有生成ID的电子邮件_Javascript_Random_Mailto - Fatal编程技术网

Javascript 发送主题中带有生成ID的电子邮件

Javascript 发送主题中带有生成ID的电子邮件,javascript,random,mailto,Javascript,Random,Mailto,这里是小提琴的链接。我已经尝试了很多搜索,并尝试结合其他网站的代码,但似乎无法找出错误。 根据主题,我只需要弹出outlook,其中包含ID。对不起,我在这里有点初学者。:) 随机发生器已经开始工作了,我可以单独测试。唯一的问题是发送电子邮件。如果你试图点击链接,什么都没有发生,它只会加载几秒钟,然后停止 函数generateEmailID(长度,字符){ “严格使用”; //设置默认值 var结果=“”; var timestamp=+new Date().toString(36).sli

这里是小提琴的链接。我已经尝试了很多搜索,并尝试结合其他网站的代码,但似乎无法找出错误。

根据主题,我只需要弹出outlook,其中包含ID。对不起,我在这里有点初学者。:)

随机发生器已经开始工作了,我可以单独测试。唯一的问题是发送电子邮件。如果你试图点击链接,什么都没有发生,它只会加载几秒钟,然后停止

函数generateEmailID(长度,字符){
“严格使用”;
//设置默认值
var结果=“”;
var timestamp=+new Date().toString(36).slice(2);
//设置可选值
长度=长度| | 7;
chars=chars | |'0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz';
//根据带有时间戳的参数生成id
对于(变量i=长度;i>0;--i){
结果+=chars[Math.round(Math.random()*(chars.length-1));
}
返回时间戳+结果;
}
功能sendEmail(电子邮件、主题、正文){
“严格使用”;
//设置可选值
电子邮件=电子邮件| |”random@random.random";
subject=subject+“[“+generateEmailID()+”]“| |”测试[“+generateEmailID()+”];
主体=主体| |“测试”;
//发送主题中生成id的电子邮件
window.location.href=“mailto:”+email+”?subject=“+subject+”&body=“+body;
}

在小提琴中更新javascript设置,对于加载类型选择最后两个选项之一:


它对我起了作用。

小提琴不起作用,因为链接是在js创建之前创建的(但在stackoverflow的“运行代码片段”中,您的代码确实起作用)

(在JSFIDLE中,点击F12查看浏览器中的控制台日志以了解错误。)

要在JSFIDLE中修复它,您可以在创建元素之前参考函数,如下所示:

html:

或者,当您在html页面中创建它时,只需将js放在
标题中

<html>
<head>
    <script>
        //(...js here)
    </script>
</head>
<body>
    <!-- html link here -->
    <a href="#" onclick="sendEmail()">Send Email</a>
</body>
</html>

谢谢你的帮助。我已经得到了我想要的。。。。。 它现在和我的htmls一起工作也很好

这是最后一把小提琴的链接。。。。

函数generateEmailID(长度,字符){
“严格使用”;
//设置默认值
var结果=“”;
var timestamp=+new Date().toString(36).slice(2);
//设置可选值
长度=长度| | 7;
chars=chars | |'0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz';
//根据带有时间戳的参数生成id
对于(变量i=长度;i>0;--i){
结果+=chars[Math.round(Math.random()*(chars.length-1));
}
返回时间戳+结果;
}
功能sendEmail(电子邮件、主题、正文){
“严格使用”;
//设置默认值
如果(!主题){
主题=“测试”;
}
//设置可选值
电子邮件=电子邮件| |”random@random.random";
subject=subject+“[”+generateEmailID()+“]”| |“Test”;
主体=主体| |“测试”;
//发送主题中生成id的电子邮件
window.location.href=“mailto:”+email+”?subject=“+subject+”&body=“+body;
}

在JS中,一行注释以
/
开头,而不是
'
,因此问题和小提琴中显示的代码根本不会运行。@nnnnnn-我刚刚编辑了代码。。。。还有小提琴链接。。。但它仍然只是刷新/什么也不做,但是当我将引用链接添加到html的头部时。。。我看到Amir给出了最简单的答案,您可以在JSFIDLE中更改javascript的加载位置。。。“在头上”。。。干得好,阿米尔。。。
sendEmail = function(email, subject, body) {
//(...rest of code stays the same)
<html>
<head>
    <script>
        //(...js here)
    </script>
</head>
<body>
    <!-- html link here -->
    <a href="#" onclick="sendEmail()">Send Email</a>
</body>
</html>