关于JSP与js的变量问题,等高人指点……

chainhou 2010-09-19 02:44:05
在开发一个项目,因为用到了window.showModelDialog(),在弹出的窗口中会得到一个JS变量的值,是我需要的ID,而这需要利用这个ID进行数据库的查询后得到一个JAVA对象,再用对象的各个属性的值给父窗口的各个文本域赋上值,现在卡在了利用已有的JS变量ID的值去调用数据库的查询方法,如果我进行异步操作的话,当前的Dialog中的值就没有了,那样给父窗口的操作就不能进行了。等高人指点:
代码大体如下:

var id = ***;//此处是页面内部JS的操作后得到的值
//现打算利用这个ID执行一个JAVA的方法或者action返回一个JAVA对象。


window.dialogArguments.addform.***.value = 得到的对象的属性值。

等高手指点。谢谢!!!
...全文
115 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chainhou 2010-09-30
[Quote=引用 8 楼 closewbq 的回复:]
父窗口

HTML code

<html>
<head>
<title></title>
<script>
function opendialog()
{
var selectValue=window.showModalDialog("c.html","","dialogWidth=500px;dialogHei……
[/Quote]
兄台的回复和我要表达的意思一样,不过我需要实现的是返回多项内容,本来想要实现返回一个JAVA的对象,比如一个User 的对象user,里面包括需要的用户信息,但不可以,只能是在反面把串拼好了返回来了,呵呵,但同样谢谢你!!!
回复
nj_link 2010-09-21
web.xml:
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

dwr.xml:
<create javascript="UserSrv">
<param name="beanName" value="类名"></param>
<include method="方法"/>
</create>
jsp页面引用:
<script type="text/javascript" src="<=path %>/dwr/interface/UserSrv.js"></script>
<script type="text/javascript" src="<%=path %>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=path %>/dwr/util.js"></script>


回复
closewbq 2010-09-21
父窗口

<html>
<head>
<title></title>
<script>
function opendialog()
{
var selectValue=window.showModalDialog("c.html","","dialogWidth=500px;dialogHeight=500px;status=no;help=no;scrollbars=no");
document.formp.name.value=selectValue;
}
</script>
</head>
<body>
<form name="formp" action="">
<input type="text" name="name">
<input type="button" value="选择" onclick="opendialog()">
</form>
</body>
</html>

子窗口
<html>
<head>
<title>无标题页</title>
<script>
function callback()
{
//通过你的ID异步从数据库获取数据,比如获得各json字符串str
//然后将str传给父窗口,父窗口进行解析josn数据就行了。
//test str="123"
parent.window.returnValue="123";
window.close();
}
</script>
</head>
<body>
<form name="formc" action="">
<input type="button" value="请求传值" onclick="return callback()">
</form>
</body>
</html>
回复
nj_link 2010-09-21
用dwr实现,很简单
回复
chainhou 2010-09-20
[Quote=引用 4 楼 lndlmy 的回复:]
在子页面中使用AJAX提交到后台,得到所需的数据后以JSON或XML格式返回到前台JS,最后将AJAX得到的数据对象传递给父页面的一个变量。
[/Quote]
谢谢,我现在也是这么做的,之前做这个项目的人做的是prototype,我也用他的AJAX,得到了数据之后我不会JSON,直接就HTML形式的打出来,在子页面中用split生成数组,再一个个比较。勉强还算实现了我的功能。
回复
Eayun1117 2010-09-20
能不能在你做完操作之后刷新父页面啊,把你要填充的参数传给父页面……
回复
lihuan2008a 2010-09-20
[Quote=引用 4 楼 lndlmy 的回复:]
在子页面中使用AJAX提交到后台,得到所需的数据后以JSON或XML格式返回到前台JS,最后将AJAX得到的数据对象传递给父页面的一个变量。
[/Quote]ff
回复
lndlmy 2010-09-20
在子页面中使用AJAX提交到后台,得到所需的数据后以JSON或XML格式返回到前台JS,最后将AJAX得到的数据对象传递给父页面的一个变量。
回复
chainhou 2010-09-19
[Quote=引用 1 楼 awtqty_zhang 的回复:]

function showServiceLog(logId){
window.showModalDialog("showServiceLog.do?serviceLogId="+logId,"dialogWidth=400px;dialogHeight=300px");
}

这是我做的一个小CASE,你的ID可以传到showServiceLog.do这个对应的方法中,让弹出……
[/Quote]
谢谢,但是不是我的意思,我说的是父窗口用showModalDialog弹出子窗口,子窗口中有一个JS的变量,现在需要利用这个变量再访问JAVA类,返回一个对象或者返回一系列的数据,之后用window.dialogArguments.addform(此为父窗口的一个form),为父窗口的form中各个text赋值。呵呵,但还是谢谢你,
回复
awtqty_zhang 2010-09-19
function showServiceLog(logId){
window.showModalDialog("showServiceLog.do?serviceLogId="+logId,"dialogWidth=400px;dialogHeight=300px");
}

这是我做的一个小CASE,你的ID可以传到showServiceLog.do这个对应的方法中,让弹出来的页面(showServiceLog.do对应方法访问的页面)来处理需要数据,再返回
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-09-19 02:44
社区公告
暂无公告