sel_date.aspx :
<script language="javascript">
function GetDate()
{
var reVal=window.showModalDialog("day.aspx", '',
"status:no;center:yes;scroll:no;resizable:no;help:no;dialogWidth:340px;dialogHeight:250px");
if(reVal!="")
{
document.formAct.txt_receive_date.value=reVal; //返回所选的日期
};
};
</script>
------------------------------------------------
day.aspx
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
string sel_date = Calendar1.SelectedDate.ToShortDateString();
Response.Write("<script>window.returnValue=" + sel_date + ";</script>");
Response.Write("<script>window.close();</script>");
}
问题是返回的时候:总是出现选择2008-09-01确是1998等错误的信息
你试着 alert(reVal) 看看结果是什么,怀疑返回的window.returnValue有问题
另外,IE7下面这个样子使用window.showModalDialog有问题,FF也不支持
你直接Response.Write("<script>window.returnValue=" + sel_date + ";window.close();</script>");
我用过的,没问题。
用parent.document.formAct.txt_receive_date.value =" + sel_date + ";
也可以在子窗口操作时,赋值给父窗口