js里面的大致代码是这样的,用document动态的在一个form里面添加input框。
var TemO=document.getElementById("add");
var newInput = document.createElement("input");       
newInput.id="input"+(elementCount); 
newInput.name="textfield"; 
TemO.appendChild(newInput);      之后提交到后台去了,但是获取不到使用js动态生成的值。我个人理解是因为jsp代码的页面在运行tomcat的时候已经编译好了放在work目录里面了。
而使用js是生成的input只是在html里面,没办法提交上去。
所以我认为可以用js提交。但是具体的不知道怎么弄, 因为我的页面前面还有不是用js动态
生成的数据也要提交的。

解决方案 »

  1.   

    好吧,我查了点资料,也看了一些人类似我这个问题的,最终发现是可以传值的。呵呵。我看了一个人的http://www.6a8a.com/2011/JavaScript_0521/1946.html受到启发,应该是我页面的什么地方写错了,于是我仔细的检查了页面。发现了form的</form>和我前面提交的不匹配,因为选中一个的时候另外一个并不会变色。之后把form放在了最外面的div外面,在点就会匹配了。之后就可以传数据了。 
    问题是这样解决的,但是还是有点疑惑,为什么我本来不是动态生成的那个input可以传值,而动态生成的确不可以了,我只是改变了form的位置。代码是没错的。 是作用域的问题还是什么啊?可是我动态生成的和之前写在页面的input放在一个div里面的
    接下来大家随意聊聊。
    到时候谁说的好就给分了呵呵
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
        <title></title>
        <script type="text/javascript" language="javascript">
    function test()
    {
        var elementCount=1;
    var Tem=document.getElementById("add");
    var newInput = document.createElement("input");
    newInput.id="input"+(elementCount);
    newInput.name="textfield";
    Tem.appendChild(newInput);
    }
    </script>
    </head>
    <body onload ="test();">
    <form id ="add" action="localhost:8080/client/transferConfirm.do" method="post">
    <input type="hidden" name="flag" value="querytransferdetail"/>
             <input  type="submit" name="submit" value="提交"/>  </form>
    </body>
    </html>
     我还特意去试了试。
    能传
      

  3.   


    呵呵 谢谢你哈。
    我的是form写的有点问题呵呵,js是没错。以后多多交流哈。
      

  4.   


    呵呵 谢谢你哈。
    我的是form写的有点问题呵呵,js是没错。以后多多交流哈。 
      

  5.   

    没什么可聊的,你把基础弄扎实了就不会有这些问题了。你放到一个div里有什么用?浏览器提交是以Form为单位的。和你的JSP有毛关系?你提交一个request回去靠的是浏览器,jsp就是个绘制页面返回流的java类而已。