有主页面A.jsp和子页面B.jsp,子页面C.jsp在主页面A上使用document.formlist.test.value=window.showModalDialog('addcydy.jsp');打开子页面BB页面是个多选checkbox的弹出框 现在的需求是 在B页面点击提交后 页面B上选择的checkbox值传回给A页面并关闭子窗口现在我是在利用点击按钮做的 代码如下function myreturnValue(){
var obj = mlist.cydy;
var array =new Array();
for(var i=0;i<obj.length;i++)
{
if(obj[i].checked==true)
{
array[i]=obj[i].value;
}
}
alert("页面即将跳转"+array);
window.returnValue=array;
window.close();
}OK 现在问题来了 用此方法可以实现我需要的传值功能 即B选择的值传给A 然后A页面在不经过重新刷新的情况下能改变A页面上的内容但是目前的问题是: 1,循环传值的方法能够实现 但是不经过这句话 alert("页面即将跳转"+array);处理一下 传回去显示的值就是一个[OBJECT]
若经过alert("页面即将跳转"+array);处理的话传回去的值就是默认的自动用逗号隔开的字符串
比如有1-10 这10个数字 我选中了 3,5,7 这3个值 那传回去显示的值就是,,3,5,7,, 这样的组合
而这是我不希望的,希望能有解决办法。
2,都知道JS是前台处理,页面我使用的是JSP,我希望将B页面checkbox选择的值,比如刚才例子中的3,5,7这3个值 传回去A页面的
时候并不是直接显示,而是把值先传给后台,让后台把值给处理一下,然后再在A页面上显示处理过的值,这个过程我不是太了解
JS传回的值是前台操作,但是要处理的话却是后台操作,这中间应该还有前台,后台运行顺序的问题,所以想请教下该如何进行我想
的操作,而且有个要求是无法通过表单提交action跳转实现操作,因为通过action跳转就必定要对A页面进行刷新,而这也是我不想见
到的,因为一起有B页面和C页面两个子页面都是A的子页面 如果采用action跳转的话 当A获得B页面的值后 再去获得C页面的值的话 B
页面传回来的值必将被刷新掉,所以传值需要通过JS来操作,还得经过数据处理,请各位帮帮忙 谢谢也许我的思路并不一定正确,总的需求是 A页面打开的子页面B和子页面C 在B上多选后把值传回A 经过数据处理,将处理后的值显示在A上
在C上多选后把值传回A 经过数据处理,将处理后的值显示在A上
B和C传回的值要能同时存在 而且在A页面B和C传回值显示的地方是在同一个form表单里 要提交数据就得一起提交,所以我用Iframe进行
局部刷新也不大好实现,Ajax我又不懂,所以看看有没JS的处理办法 请大家帮帮忙 谢谢!
var obj = mlist.cydy;
var array =new Array();
for(var i=0;i<obj.length;i++)
{
if(obj[i].checked==true)
{
array[i]=obj[i].value;
}
}
alert("页面即将跳转"+array);
window.returnValue=array;
window.close();
}OK 现在问题来了 用此方法可以实现我需要的传值功能 即B选择的值传给A 然后A页面在不经过重新刷新的情况下能改变A页面上的内容但是目前的问题是: 1,循环传值的方法能够实现 但是不经过这句话 alert("页面即将跳转"+array);处理一下 传回去显示的值就是一个[OBJECT]
若经过alert("页面即将跳转"+array);处理的话传回去的值就是默认的自动用逗号隔开的字符串
比如有1-10 这10个数字 我选中了 3,5,7 这3个值 那传回去显示的值就是,,3,5,7,, 这样的组合
而这是我不希望的,希望能有解决办法。
2,都知道JS是前台处理,页面我使用的是JSP,我希望将B页面checkbox选择的值,比如刚才例子中的3,5,7这3个值 传回去A页面的
时候并不是直接显示,而是把值先传给后台,让后台把值给处理一下,然后再在A页面上显示处理过的值,这个过程我不是太了解
JS传回的值是前台操作,但是要处理的话却是后台操作,这中间应该还有前台,后台运行顺序的问题,所以想请教下该如何进行我想
的操作,而且有个要求是无法通过表单提交action跳转实现操作,因为通过action跳转就必定要对A页面进行刷新,而这也是我不想见
到的,因为一起有B页面和C页面两个子页面都是A的子页面 如果采用action跳转的话 当A获得B页面的值后 再去获得C页面的值的话 B
页面传回来的值必将被刷新掉,所以传值需要通过JS来操作,还得经过数据处理,请各位帮帮忙 谢谢也许我的思路并不一定正确,总的需求是 A页面打开的子页面B和子页面C 在B上多选后把值传回A 经过数据处理,将处理后的值显示在A上
在C上多选后把值传回A 经过数据处理,将处理后的值显示在A上
B和C传回的值要能同时存在 而且在A页面B和C传回值显示的地方是在同一个form表单里 要提交数据就得一起提交,所以我用Iframe进行
局部刷新也不大好实现,Ajax我又不懂,所以看看有没JS的处理办法 请大家帮帮忙 谢谢!
那么可以在获得showModalDialog的返回值以后 给需要提交的form的action里加个flag=xx来区分
然后提交给iframe iframe在利用这个flag来输出一段JS就可以更新A的哪块区域了
---
array.join();//把数组中的项连接成字符串
问题2
----
需要ajax,把从b.jsp中获取到的值使用ajax传递到c.jsp,然后c.jsp接收这个值后返回数据给ajax,ajax接收返回值然后赋值给a.jsp中的控件大概流程如下,ajax怎么使用楼主还是自己看看,很简单的
问题1
--- JScript codearray.join();//把数组中的项连接成字符串
这个办法也可行 谢谢Ajax在处理这方面确实很方便 正在找资料
{
var xhr = null;
var msProgs = ["Microsoft.XMLHTTP", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"];
for (var i = 0, l = msProgs.length; i < l; i++)
{
try
{
xhr = new ActiveXObject(msProgs[i]);
break;
}
catch (e){}
}
if (!xhr)
{
try
{
xhr = new XMLHttpRequest();
}
catch (e){}
}
if (!xhr)
{
return null; // null
}
return xhr; // XMLHttpRequest
}