javascript日历弹出不起作用

时间:2010-11-10 20:16:33

标签: javascript

我正在尝试使用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);
}

它显示日历很好,但是当我点击日期时,我收到错误并将日期插入到文本框中。

2 个答案:

答案 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没有返回现有的值。

相关问题