1

我正在查看一些在当前版本的 Chrome 和 IE 11 中失败的代码。它由于以下行而出错:

var form = window.frameElement.document.forms[0];

有错误:

"JavaScript runtime error: Unable to get property 'forms' of undefined or null reference"

Window 和 frameElement 存在,但文档为空。

上面的上下文是一个弹出窗口,带有一个邮政编码,显示一些结果和一个“选择”按钮。单击按钮会调用一个方法,该方法调用上面的行,然后将选定的位置分配给一些值。

returnValues(id, name){
  var form = window.frameElement.document.forms[0];
  form.ctl00$MainContentPlaceHolder$uxResControl$uxRenLoc$RenLocCodeField.value = id;
  form.ctl00$MainContentPlaceHolder$uxResControl$uxRenLoc$RenLocNameField.value = name;
  ...
}

使用这些嵌套的用户控件,我对如何“向下钻取”并将所选值分配给隐藏值 RenLocCodeField 或 RenLocNanmeField 感到有些困惑。

4

1 回答 1

0

使用通常的 ASP.NET Javascript 查询总是很痛苦!

而不是以下行:

form.ctl00$MainContentPlaceHolder$uxResControl$uxRenLoc$RenLocCodeField.value = id;
form.ctl00$MainContentPlaceHolder$uxResControl$uxRenLoc$RenLocNameField.value = name;

您可以在 javascript 方法中使用以下行,假设RenLocCodeFieldRenLocNameFieldID为各个字段生成的 s。

document.getElementById("RenLocCodeField").value = id;
document.getElementById("RenLocNameField").value = name;
于 2014-09-08T21:36:51.147 回答