SCRIPT5007:无法在IE11中获取未定义或空引用的属性“值”

时间:2014-03-27 12:49:35

标签: javascript ie11-developer-tools

我试图通过点击按钮保存一个报告,它正在使用IE 9和IE 10,但不能在IE11和Chrome上运行。下面是我的点击功能

function SaveReport(thisUser)
{
    thisFormList  = opener.document.getElementById("hiddenFormList").value; 
    thisSortWhere = opener.document.getElementById("hiddenSortWhere").value; 
    if ( thisFormList == "" && thisSortWhere == "")
    {
        alert("Enter the criteria and click -Find- first");
        return false;
    }
}

我的HTML代码

<td align="center" style="padding-bottom:10px;"> New Report Name: 
<input type="text" name="newReport" size="50" maxlength="50">
<input type="button" name="SaveReportBtn" `enter code here`
value="Save" onclick="SaveReport('#Client.USERNAME#');" style="width:60px;">

2 个答案:

答案 0 :(得分:1)

尝试使用

opener.document.forms[0].hiddenFormList.value 

而不是

opener.document.getElementById("hiddenFormList").value

我在IE11中遇到了同样的问题。似乎由于某种原因,getElementById在IE11中响应不是很快。

答案 1 :(得分:0)

我怀疑您是使用本地文件执行此操作,而不是通过http提供的文件。也就是说,网页的网址以file:而不是http:https:开头。

问题是某些浏览器(包括Chrome)将Same Origin Policy应用于本地文件 - 也就是说,从本地文件路径打开的一个窗口无法访问从本地文件路径打开的另一个窗口,就好像它是跨域请求(即使它们都是本地的,即使它们来自同一目录)。其他人允许。

如果您通过http投放文件,并且它们来自同一个来源,我怀疑您会发现问题消失了。