如果这样的话,一种比较土的方法是使用hidden了,在提交的时候先将checkbox的值付给hidden了,当然,hidden要在另一个FRAME中,不过就算有两个FRAME,你是不是可以把他们做为一个Form呢?这个好象主要还是做网页的问题吧。

解决方案 »

  1.   

    <frameset cols="11,89" >  <!--border="0"-->
      <frame name="fr1" scrolling="NO" noresize src="left.jsp">
      <frameset rows="80,20" > 
      <frame name="fr2" src="view_jypl.jsp">
      <frame name="bottomFrame" scrolling="NO" noresize src="bottom.jsp">
    </frameset>
    </frameset>
    以上是分栏的代码,我需要在bottom.jsp确发提交事件时知道view_jypl.jsp中有哪个checkbox被选中了并取得它的值,不知道我说明白了没有!
      

  2.   

    我在bottom.jsp是定义了相同数量隐藏的checkbox我是这样写的:
    <script language="javascript">
    function isok(form){
    j=0;
    for(i=0;i<30;i++)
    {
    bb=eval("parent.fr2.document.form1.ch"+i+".checked");
    if(bb)
    {         eval("document.form1.ch"+j+".value=parent.fr2.document.form1.ch"+i+".value");
         j++;
    }
    }
    }
    </script>
    <form action=send.jsp method=post name=form1 target=fr2 onsubmit="return isok(this);">
    <% for(int i=0;i<30;i++){ %>
    <input type=checkbox name=ch<%=i %> style="visibility:hidden">
    <% } %>
    </form>
    但是在另一个页面取到的全是空值!
      

  3.   

    那当然是空值了,你要在view_jypl.jsp这个页面里写脚本,当这一页的checkbox有点击事件时(onclick时将checkbox的值用javascrip将多个checkbox作一个串写到bottom.jsp里面,当bottom.jsp提交到另一页时再用split方法分隔这个串就ok了
      

  4.   

    如果你能确定view_jyp1.jsp中的checkbox的个数及名称应该是可以的。<frameset cols="11,89" >  <!--border="0"-->
      <frame name="fr1" scrolling="NO" noresize src="left.jsp">
      <frameset rows="80,20" > 
      <frame id="test1" name="fr2" src="view_jypl.jsp">
      <frame name="bottomFrame" scrolling="NO" noresize src="bottom.jsp">
    </frameset>
    </frameset>在bottom.jsp中可以通过parent.test1.checkbox(view_jyp1.jsp中的checkbox的名称).value,可以获取checkbox的值。
      

  5.   

    对了,parent.test1.***等是javascript的语法。
      

  6.   

    是啊在bottom.jsp我已经取得了啊,eval("document.form1.ch"+j+".value=parent.fr2.document.form1.ch"+i+".value");
    但是提交之后全是NULL啊!!!
      

  7.   

    不是value,好象是.checked才是checkbox的值。
      

  8.   

    你用我的思路可以试试的,我做过类试的,重点在于你对javascript的理解
      

  9.   

    我在一开始判断了啊
    bb=eval("parent.fr2.document.form1.ch"+i+".checked");
    if(bb)
    { eval("document.form1.ch"+j+".value=parent.fr2.document.form1.ch"+i+".value");
         j++;
    }
    我现在开始时怀疑这些全是JS代码是在客户端执行的,当提交时真的能改变bottom.jsp中checkbox的值吗?
      

  10.   

    如果是这样的话,你的付值语句应该是:
    eval("document.form1.ch"+j+".checked=parent.fr2.document.form1.ch"+i+".checked");
      

  11.   

    ylffsy,你的意思是在view_jypl.jsp中当一点中一个checkbox就把这个checkbox的值保存到JS的一个数组中,然后在bottom.jsp中bodyonload时取出这个数组的值是吧,但是如果这时我想在view_jypl.jsp中取消一个checkbox应该怎么办呢?数组里的值还能更新 吗?
      

  12.   

    我刚才加了一条语句 eval("document.form1.ch"+j+".checked=true");
    这样就能取到了,但是现在还要做一下测试,多谢 jcq(疯子弟)的提醒!
      

  13.   

    可以呀,关键在于你在
    view_jypl.jsp这个页面设置的响应事件用每个checkbox都用onclick呀,然后用
    function postcheckbox()
    for()
    {}
    用循环把所有的checkbox的checked找一遍不就可以了,你可以试试