站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题[求助]弹出窗口的参数如何传递回主窗口呢,帮顶有分

[求助]弹出窗口的参数如何传递回主窗口呢,帮顶有分

摘要: [求助]弹出窗口的参数如何传递回主窗口呢,帮顶有分


我要实现这样的功能;

function g_OpenWindow(pageURL, innerWidth, innerHeight)
{
var ScreenWidth = screen.availWidth
var ScreenHeight = screen.availHeight
var StartX = (ScreenWidth - innerWidth) / 2
var StartY = (ScreenHeight - innerHeight) / 2
var wins = window.open(pageURL, 'OpenWin', 'left='+ StartX + ', top='+ StartY + ', Width=' + innerWidth +', height=' + innerHeight + ', resizable=no, scrollbars=yes, status=no, toolbar=no, menubar=no, location=no')
wins.focus();
}
<td>首页图片:</td>
<td><input maxLength=50 size=55 name=picurl> <input onclick="javascript:g_OpenWindow('upload.jsp?field=form1.picurl','350','50')" type=button value="上 传" name=btnLogo></td>
当点击上传按纽时就会弹出一个小窗口来上传图片,我已经把上传图片的jsp页面和action都做完了,我想在上传完图片之后就把弹出的小窗口自动关闭,然后将图片的相对路径自动赋给主窗口的<input maxLength=50 size=55 name=picurl> 使得它的值等于图片的相对路径

可是要怎么做到呢,


function test()
{
if(wins != null)

{document.getElementByName("picurl").value=wins.forms[0].src;
wins.close();
}
}
把程序中添加这个方法就好了


不好意思,这段代码是加到主窗口页面呢,还是弹出的上传窗口页面呢 如果放到主窗口页面的话就应该用一句onchang来响应吧

另外我上传的页面是一个jsp,然后上传的功能是在action里面实现的,上传之后才把图片的名字和相对路径获得一并存在一个session里了,那这个时候action的跳转语句该怎么写啊.

跳到哪呢,


好心的哥哥姐姐帮忙顶一下吧。谢谢


function test()
{
var goback ;
goback =document.getElementByName("picurl").value(弹出窗口的某个值);
window.opener.form1.picurl.value(父窗口的某个值) = goback;
window.close();
}


那这段代码是写在父窗口呢,还是子窗口啊。

我想应该是子窗口,可是大子窗口能识别主窗口的.form1.picurl.value吗,。

另外goback =document.getElementByName("picurl").value(弹出窗口的某个值);
中的document.getElementByName("picurl").value(弹出窗口的某个值);要怎么获得呢,上传图片我用到了action,要转换路径也只能在action里实现,可是怎么转呢,



window.opener用这个就可以了


在action里我是这样写的。
String path = "image/" + myFile.getFileName();
session.setAttribute("picurl",path );
return (mapping.findForward("success")); //跳到上传图片的子窗口页。


那在javascript里可以用session.getAttritute("")吗。

如果可以的话,test()要怎么触发呢,


只要你在子窗口里能获得路径的话就没有问题。
子窗口中利用session.getAttritute("")来获取路径,然后用js,比如说
function test()
{
var goback ;
goback =document.getElementByName("picurl").value(弹出窗口的某个值);
window.opener.form1.picurl.value(父窗口的某个值) = goback;
window.close();
}
把路径传给父窗口就行了


<%@ page contentType="text/html; charset=UTF-8" %>
<head>文件上传


<script language=javascript>
var sAllowExt = "jpg|bmp|gif|png";
function CheckUploadForm() {
if (!IsExt(document.myform.thefile.value,sAllowExt)){
alert("提示:/n/n请选择一个有效的文件,/n支持的格式有("+sAllowExt+")!");
return false;
}
return true
}
function IsExt(url, opt){
var sTemp;
var b=false;
var s=opt.toUpperCase().split("|");
for (var i=0;i sTemp=url.substr(url.length-s[i].length-1);
sTemp=sTemp.toUpperCase();
s[i]="."+s[i];
if (s[i]==sTemp){
b=true;
break;
}
}
return b;
}
function test()
{
var goback ;
goback =document.myform.url.value;
window.opener.form1.picurl.value = goback;
window.close();
}
</script>
</head>
<body bgcolor=menu>文件上传:(jpg|bmp|gif|png)
<form action="uploadAction.do?field=form1.picurl" method=post name=myform enctype="multipart/form-data" onsubmit="return CheckUploadForm();">
<%if(session.getAttribute("picurl")!=null && !session.getAttribute("picurl").equals("")) {%>
<input type="hidden" name="url" value="<%=session.getAttribute("picurl")%>">
<% }%>
<input type=file name="thefile" size=30> <input type="submit" name="bSubmit" value="上传">
</form></body>
还是贴代码吧,呵,不好意思,我还是比较笨,不知道具体怎么改,这么写了,子窗口上传完之后还是不能关闭,并传数据,再帮我看看吧。谢谢


↑返回目录
前一篇: 怎么下载url指定出来的文件?
后一篇: 关于批量导入数据的问题~