1,报的什么错误?不应该有这个错误的
2,提交哪个表单,是整个表单,还是iframe中的表单,如果是整个表单,iframe中的数据不会自动提交,需要在url中写入

解决方案 »

  1.   

    呵呵,你在呀!
    1、报的是说缺少对象,
    2、我是想提交整个表单,我自己想了个办法:是把“确定”也写到AddCne_b.jsp中,从
    AddCne_b.jsp提交所有的值给servlet!呵呵,可行的应该是!现在主要是值还没有取到了!
      

  2.   

    还有个问题是:
    <input type="button" value="确定" onclick="javascript:validateForm
    ('<%=NEname%>','<%=NEdescription%>','<%=tableName%>','11111111')" size="20">
    我用这个可以提交值,其中11111111111这个地方应该是存放itemC提交的值,怎么取到它并提交呢??
      

  3.   

    1,第一个我这里试着没问题,就是使用moveSelected这个函数
    2,建议把确定按钮放出来,不要放在iframe里面,因为没有目前你的AddCne_b.jsp没有form,所以提交不上去
       可以使用document.frames[yourIframeName].document.itemB.value类似方式在url中传过去
      

  4.   

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    test
    </title>
    <script type="javascript">
    function moveSelected(oSourceSel,oTargetSel)
    {
        //建立存储value和text的缓存数组
        var arrSelValue = new Array();
        var arrSelText = new Array();
        //此数组存贮选中的options,以value来对应
        var arrValueTextRelation = new Array();
        var index = 0;//用来辅助建立缓存数组    //存储源列表框中所有的数据到缓存中,并建立value和选中option的对应关系
        for(var i=0; i<oSourceSel.options.length; i++)
        {
            if(oSourceSel.options[i].selected)
            {
                //存储
                arrSelValue[index] = oSourceSel.options[i].value;
                arrSelText[index] = oSourceSel.options[i].text;
                //建立value和选中option的对应关系
                arrValueTextRelation[arrSelValue[index]] = oSourceSel.options[i];
                index ++;
            }
        }    //增加缓存的数据到目的列表框中,并删除源列表框中的对应项
        for(var i=0; i<arrSelText.length; i++)
        {
            //增加
            var oOption = document.createElement("option");
            oOption.text = arrSelText[i];
            oOption.value = arrSelValue[i];
            oTargetSel.add(oOption);
            //删除源列表框中的对应项
            oSourceSel.removeChild(arrValueTextRelation[arrSelValue[i]]);
        }
    }</script>
    </head>
    <body bgcolor="#ffffff">
    <form name="form"  action="/nt/AddCneServlet.java" method="POST">
    <table>
    <tr>
      <td>
        <select name="itemB" size="5" multiple="multiple">
        <option value="op1">opt1</option>
        <option value="op2">op2</option>
        <option value="op3">op3</option>
        <option value="op4">op4</option>
       </select>
      </td>
    <td>
      <input type="button" name="add" value=" 添 加 " 
        onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20"></td>
    <td>
      <input type="button" name="add" value=" 删 除 "
        onclick="moveSelected(document.all.itemC,document.all.itemB)"; size="20"></td>
    <td>
    <select name="itemC" size="5" multiple="multiple">  
    </select>
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    这是个有数据的试验,添加的时候提示这行:
      onclick="moveSelected(document.all.itemB,document.all.itemC)"; size="20">
    缺少对象!
      

  5.   

    上面这个1、“添加”“删除”的问题解决了,呵呵,
    2、问题是:
    想把页面AddCen.jsp(就是主页面)中的俩个值转给iframe中的AddCen_b.jsp(被包含的页面).
    因为我觉得要在页面AddCen.jsp中取iframe中的值好像不太可能,
    所以就把提交的“确定”按钮放到了iframe的AddCen_b.jsp页面中,
    这样我只需要把AddCen.jsp的俩个值:
    复合网元名称NEname和复合网元描述NEdescription传给iframe中的AddCen_b.jsp就可以了,
    但是我在AddCen_b.jsp中
    String NEname = request.getParameter("NEname");
    String NEdescription = request.getParameter("NEdescription");
    得到的是空值,更本就取不到!
    程序的样子还和上面的一样!!
      

  6.   

    你按提交按钮,只提交了iframe中的页面(AddCen_b.jsp),真正的主页面(AddCen.jsp)是提交不了的,把提交按钮拿到主页面上来,采用下面方式提交主页面:-------------------------
    index.htm<SCRIPT language="javascript">
    function subForm()
    {
        //取得iframe中itemB的对象
        var oItemB = document.frames["myFrame"].document.all.itemB;
        //取得iframe中itemC的对象
        var oItemC = document.frames["myFrame"].document.all.itemC;

        document.forms[0].action = "test.jsp?itemB=" + oItemB.value 
                                   + "&itemC=" + oItemC.value;
        alert(document.forms[0].action);
        document.forms[0].submit();
    }
    </SCRIPT>
    <BODY>
    <FORM method="post">
    <SELECT name="itemA">
    <OPTION value="000">000</OPTION>
    <OPTION value="111">111</OPTION>
    </SELECT><p>
    <IFRAME height="300px" width="300px" frameborder="0" src="inner.htm" name="myFrame"></IFRAME><p>
    <INPUT type="button" onClick="subForm()" value="submit" />
    </FORM>
    </BODY>inner.htm
    ----------------------------------------------<BODY>
    itemB:<SELECT name="itemB">
    <OPTION value="aaa">aaa</OPTION>
    <OPTION value="bbb">bbb</OPTION>
    <OPTION value="ccc">ccc</OPTION>
    </SELECT><p>
    itemC:<SELECT name="itemC">
    <OPTION value="eee">eee</OPTION>
    <OPTION value="fff">fff</OPTION>
    <OPTION value="ggg">ggg</OPTION>
    </SELECT>
    </BODY>
      

  7.   

    如果我想提及给一个servlet怎么写?
      

  8.   

    现在搞的我晕头转向了,我现在改成了用javaBean去取数,刷新页面得到表单的值,呵呵,改来改去总于改成功了!谢谢你了LxcJie(肖冲)! 呵呵,想你学习!再次感谢!