Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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 mailto在chrome中工作,但在IE中不工作_Javascript_Google Chrome_Internet Explorer_Undefined_Mailto - Fatal编程技术网

javascript mailto在chrome中工作,但在IE中不工作

javascript mailto在chrome中工作,但在IE中不工作,javascript,google-chrome,internet-explorer,undefined,mailto,Javascript,Google Chrome,Internet Explorer,Undefined,Mailto,我正在尝试为我们的实验室工程师创建一个简单的网页,这样当他们坐在工作站上时,他们可以从桌面打开网页快捷方式>选择他们所在的实验室>选择他们需要的支持类型>然后单击提交打开一封包含所有所选信息的电子邮件>然后单击发送;然后向电子邮件列表中的人发送电子邮件请求 在Chrome中,一切都很好,但我们的大多数工程师默认使用IE,当我在IE中单击submit按钮时,它会打开电子邮件,但收件人和主题为“UNDEFINED”。我正在使用IE10 <!DOCTYPE HTML> <html&g

我正在尝试为我们的实验室工程师创建一个简单的网页,这样当他们坐在工作站上时,他们可以从桌面打开网页快捷方式>选择他们所在的实验室>选择他们需要的支持类型>然后单击提交打开一封包含所有所选信息的电子邮件>然后单击发送;然后向电子邮件列表中的人发送电子邮件请求

在Chrome中,一切都很好,但我们的大多数工程师默认使用IE,当我在IE中单击submit按钮时,它会打开电子邮件,但收件人和主题为“UNDEFINED”。我正在使用IE10

<!DOCTYPE HTML>
<html>
<link rel="stylesheet" type="text/css" href="silsupport.css">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<title>SILSupport</title>

<body>
<h1>SIL Support</h1>
<SCRIPT>
    function e_mail(e_add,subject1,body)
    {
        window.location="mailto:"+e_add+"?subject="+subject1+"&body="+body;
    }
</SCRIPT>
<form name="e_form" enctype="text/plain">
    <div id="para1">    
        <p>Please select which lab you are in: </p>                     
            <input name="subj" type="radio" value="Lab_1 Support" />Lab 1<br />
            <input name="subj" type="radio" value="Lab_2 Support" />Lab 2<br />
            <input name="subj" type="radio" value="Lab_3 Support" />Lab 3<br />
            <input name="subj" type="radio" value="Lab_4 Support" />Lab 4<br />
            <input name="subj" type="radio" value="Lab_5 Support" />Lab 5<br />
    </div>       

    <div id="para2">
        <p>Please select which support you require:</p>
            <input name="emadd" type="radio"  value="re@abc.com" />RE Support<br />
            <input name="emadd" type="radio"  value="admin@abc.com" />Admin Support<br />
            <input name="emadd" type="radio"  value="system@abc.com" />System Support<br />
            <input name="emadd" type="radio"  value="hwsw@abc.com" />H/W &amp; S/W Support<br />
            <input name="body"  type="hidden" value="I require support now!" />
    </div>
    <input type="button" id="Submit" Value="Submit" onClick="e_mail(this.form.emadd.value,this.form.subj.value,this.form.body.value)" />

</form>

</body>
</html>

SILSupport
SIL支架
功能电子邮件(电子邮件添加,主题1,正文)
{
window.location=“mailto:”+e_add+”?subject=“+subject1+”&body=“+body;
}
请选择您所在的实验室:

实验1
实验2
实验3
实验4
实验5
请选择您需要的支持:

重新支持
管理支持
系统支持
H/W&;软件支持

您确实应该有自己的代码来查找选中的单选按钮:

function findChecked(radios) {
    for (var i = 0; i < radios.length && !radios[i].checked; ++i);
    return radios[i] && radios[i].value;
}
功能查找检查(无线电){
对于(变量i=0;i
该函数需要一个列表,这是您将从单选按钮组的“按名称”引用中获得的列表。它查找选中的按钮并返回其值

然后:



我相信您遇到的问题是由于URL中的字符编码造成的。 将代码更改为此,以转义空格和感叹号等字符:

window.location="mailto:"+ encodeURIComponent(e_add) +"?subject="+ encodeURIComponent(subject1) +"&body="+ encodeURIComponent(body);

以下是我将要做的,因为IE中可能不支持单个无线电值
请注意,我将表单名改为id,按钮改为实际提交

最后,您可以将size=“5”和=“4”添加到下拉列表中以显示所有选项

window.onload=function(){
document.getElementById(“e_form”).onsubmit=function(){
var e_add=this.emadd.value,
subject1=此.subject.value,
body=this.body.value,
loc=“mailto:”+e_add+”?subject=“+encodeURIComponent(subject1)+”&body=“+body;
窗口位置=loc;
返回false;//取消提交
}
}

请选择您所在的实验室:

实验一 实验2 实验三 实验四 实验五 请选择您需要的支持:

再支持 行政支持 系统支持 H/W&;S/W支持
使用您应该使用的下拉列表have@mplungjan@Pointy-这篇文章是关于移动应用的。@mplungjan是真的,但在我看来,现在一切都是移动应用:)我只是觉得这是一个有趣的观点,当然这更多的是一个设计问题,而不是技术问题。所以这段代码在我的IE浏览器中不起作用。它甚至没有打开电子邮件客户端。请注意,我在一个公司局域网上,因此是否有可能关闭可能会影响代码的设置?在我的代码中,当我在IE中打开页面时,系统会提示“IE限制此网页运行脚本或活动X控件,允许块内容?”我在其中单击“允许”“。仅供参考。试试这个:-在我的公司电脑上,我收到一个警告,但如果我允许它的存在,它会起作用。”。那也行!您是否知道是否可以使用单选按钮来源文件。单个电子邮件只是开发的一部分,但我需要添加多个电子邮件地址,以便将来轻松添加/删除。我假设一个包含电子邮件列表的简单文本文件就足够了。是否需要为此问题启动新的疑难解答页面?哦,我刚注意到你取消了单选按钮…哈哈,对我来说更有意义。如果你想,你可以在JS文件中有地址,这段代码和我的代码做的一样。在To:和Subject:中生成“undefined”,该代码修复了我的问题!它现在在IE中工作!好极了!非常感谢你!我不知道是否需要为此创建一个单独的疑难解答页面,但是否可以为单选按钮源文件?因此,单个电子邮件地址只是一个测试,我需要添加多个地址,并可能在将来更改它们,因此我认为一个简单的文本文件和列表将最容易获取源代码。想法?@user1904711这完全取决于您的服务器端基础设施的外观。
window.location="mailto:"+ encodeURIComponent(e_add) +"?subject="+ encodeURIComponent(subject1) +"&body="+ encodeURIComponent(body);