说清楚点吗?
[email protected]
[email protected]
解决方案 »
- 无法使用'keydown'事件的charcode属性,值无意义
- js给控件赋值问题!!!!
- 体育成绩
- javascript出现"Internet Explorer 无法打开Internet站点"错误,急
- [help]点击按实现-选择"选择框"的值
- 对一个比较复杂的表格(有合并行和列),如何求在同一列的单元格的上一个表格?在同一行的单元格可以用object.parentElement来实现
- 请问如果使用了embed标签,那么客户端需要什么样的软件支持呢?
- 怎么给文件域设初值??急,急,急,在线等!!!!
- 关于树形菜单的问题
- 召唤js大大们,给分析一下,这段代码 (分不多,大大们见谅)
- 用java如何取得showModelDialog传的参数
- select清空后,页面select框显示长度如何自动变化
希望有帮助
不能改变主画面的html,现在主画面点击参照打开子画面是用window.open,要求改为showModalDialog方式打开.问题主要出在window.open可以返回新打开的窗体对象,紧接着要往这个对象里写入html,
这样新打开的子窗体才能正常显示,但是showModalDialog却无法返回新窗体对象,或者只能用window.returnValue在关闭子窗体后返回值,这样就没法向子窗体写数据了,也就不能正常显示.如果有什么地方不清楚的可以留下你们的信箱,或给我发邮件.
非常感谢!能够帮我解决的一定守信给分,可惜不能再给的更多了.
window.showModalDialog('地址',参数,'特性')
参数可以为Object,这样就可以传递比较复杂的结构了。
再由子窗口去处理。
showModalDialog()、showModelessDialog()方法使用详解 或者参考代码
http://community.csdn.net/Expert/topic/5761/5761226.xml?temp=.8475611
gFncNowDateSet(1,inYmd,"","","","");
var head = '<html><head>\n'
+ '<title>日付選択</title>\n'
+ '<SCRIPT language="JavaScript">\n'
+ 'function fncSetDate(g,yyyy,mm,dd) {\n'
+ ' var wkWYear;\n'
+ ' var wkNengo;\n'
+ ' var wkNengoKanj;\n'
+ ' window.close();\n'
+ ' if( yyyy < 1912 ) {\n'
+ ' wkWYear = yyyy - 1867;\n'
+ ' wkNengo = "M";\n'
+ ' wkNengoKanj = "明治";\n'
+ ' } else if( yyyy > 1911 && yyyy < 1926 ) {\n'
+ ' wkWYear = yyyy - 1911;\n'
+ ' wkNengo = "T";\n'
+ ' wkNengoKanj = "大正";\n'
+ ' } else if( yyyy > 1925 && yyyy < 1989 ) {\n'
+ ' wkWYear = yyyy - 1925;\n'
+ ' wkNengo = "S";\n'
+ ' wkNengoKanj = "昭和";\n'
+ ' } else if( yyyy > 1988 ) {\n'
+ ' wkWYear = yyyy - 1988;\n'
+ ' wkNengo = "H";\n'
+ ' wkNengoKanj = "平成";\n'
+ ' }\n'
+ ' wkWYear = wkWYear + "";\n'
+ ' if( wkWYear.length == 1 ){\n'
+ ' wkWYear = "0" + wkWYear;\n'
+ ' }\n'
+ ' mm = mm + "";\n'
+ ' if( mm.length == 1 ){\n'
+ ' mm = "0" + mm;\n'
+ ' }\n'
+ ' dd = dd + "";\n'
+ ' if( dd.length == 1 ){\n'
+ ' dd = "0" + dd;\n'
+ ' }\n'
+ 'if(window.opener.document.getElementsByName("' + text + '").length == 1){\n'
+ ' window.opener.document.forms[0].'
+ text
+ '.value= wkNengo + wkWYear + "/" + mm + "/" + dd;\n'
+ ' window.opener.document.forms[0].'
+ text
+ '.focus();\n'
+ ' window.opener.document.forms[0].'
+ text
+ '.blur();\n'
+ ' window.opener.document.forms[0].'
+ text
+ '.focus();\n'
+ '}else{\n'
+ 'var objField= eval("window.opener.document.forms[0].' + text + '[' + clkIndex + ']");\n'
+ ' objField.value= wkNengo + wkWYear + "/" + mm + "/" + dd;\n'
+ ' objField.focus();\n'
+ ' objField.blur();\n'
+ ' objField.focus();\n'
+ '}\n'
+ '}\n'
+ '</SCRIPT></head>\n'
+ '<body><form name="test1">\n';
var foot = '</form></body></html>'; win = window.open('', 'calWin','width=220,height=300,resizable=yes,alwaysRaised=yes,status=yes'); objCal = new Cal('objCal', 'opener', win);
objCal.setHead(head);
objCal.setFoot(foot);
objCal.disp(strDate[0], strDate[4], strDate[2], strDate[3]);}这个是用window.open做的,能够得到win这个子窗体对象,然后到Cal里把子窗体的head,foot这些都写到win里,这样子窗体就能完整显示了,可是如果用showModalDialog只有子窗体关闭时才能返值回来.再没有人愿意留下信箱了吗?那有什么办法可以让我把文件上传到网上大家自己下载呢?
showModalDialog("url",window)url里面var a = window.dialogArguments
a.document.getElementById("inputID").value="返回值"
看看showModalDialog的工作原理。上面的链接已经很全了。另外,之所以有了window.open方法之后又提供showModalDialog方法,两者的使用方法和使用条件是不同的,不要期望使用showModalDialog完全实现window.open的功能。否则就没有showModalDialog存在的必要了。