我正在尝试使用Javascript弹出日历控件来工作,这不起作用。我正在
错误“Microsoft JScript运行时错误:'window.opener.document.forms(...)。control'为null或不是对象”。这是我的活动,
protected void Change_Date(System.Object sender, System.EventArgs e)
{
string strScript = "<script>window.opener.document.forms(0)." + control.ClientID + ".value = '";
strScript += calDate.SelectedDate.ToString("MM/dd/yyyy");
strScript += "';self.close()";
strScript += "</" + "script>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "Startup", strScript);
}
它显示日历很好,但是当我点击日期时,我收到错误并将日期插入到文本框中。
答案 0 :(得分:1)
错误的括号:
.document.forms(0)
应该是
.document.forms[0]
答案 1 :(得分:0)
你的表单中确实有一个id为“control”的元素吗?
你的界限是错误的:
string strScript = "<script>window.opener.document.forms(0)." + control.ClientID + ".value = '";
正如已经指出的那样它应该是forms[0]
而不是forms(0)
但是它正在搜索id为“control”的表单中的元素
看起来您的control.ClientID
值返回错误,找出它应该是什么的最简单方法是查看表单的实际HTML并找到您正在查找的控件的ID,以及用它测试你的方法,然后弄清楚为什么control.ClientID
没有返回现有的值。