A页面,弹窗B页面。 B页面FORM提交之后,如何只刷新A页面局部的内容?
1 先说父页面如何获取图片名称。
在这个问题中,图片名称是子页面提交请求之后才能返回的,那么,利用ajax程序,现在子页面上返回图片名称,然后再关闭子页面,并按照我上面给的方法,把图片名称传给父页面(其实是储存在父页面的一个js对象中),父页面上隐藏包含了得到的图片名称,那就用js的方法设置父页面的某个DOM对象,例如父页面上有元素
[code="html"]
[/code]
那么就设置这个元素的内容为图片名称,局部刷新是靠js动态操作DOM元素完成的。
[code="java"]
document.getElementById('fileName').innerHTML = fileName;
[/code]
2 ajax程序如何获得file属性?
这个file是刚才说的图片吗?ajax请求的是后台的java服务,java是可以直接得到一个文件的一些属性的,如大小,图片尺寸等等,至于ajax的程序代码,这里就不啰嗦了。
方法一:使用window.open方式传值:
[code="java"]
将弹出式窗口的资料输入到主窗口中 <!-- function openUrl(){ window.open("b.htm","","width=300,height=200"); } //-->
接受弹出式窗口的资料
[/code]
[code="java"]
将弹出式窗口的资料输入到主窗口中 <!-- function out(){ opener.txt.value = txt.value; } window.onunload = function(){ opener.txt.value = '子窗口已经关闭了!'; } //-->
[/code]
方法二:使用模态窗口传值
[code="java"]
将弹出式窗口的资料输入到主窗口中 <!-- function openUrl(){ var retObj = window.showModalDialog("b.htm","","width=300,height=200"); if(retObj!=null){ document.getElementById('txt').value =retObj ; } } //-->
接受弹出式窗口的资料
[/code]
[code="java"]
将弹出式窗口的资料输入到主窗口中 <!-- function out(){ opener.txt.value = txt.value; } window.onunload = function(){ //opener.txt.value = '子窗口已经关闭了!'; str = '模态子窗口已经关闭了!'; window.returnValue = str; } //-->
[/code]
这个应该使用 模态对话框来实现,把窗口的返回值作为结果,返回给父页面,这样就能根据结果来用js刷新页面了。
楼上回答的对,一种是用Open方法弹出,一种是模态弹出,然后把弹出窗的值,传到父窗口里面,用到关键的技术oper.id.value