想把当前页中动态增加的文本框中的字符串连接成一个字符串传递到下一页,我用下面的代码已经可以实现多文本框的字符串连接和传递,但为什么只有一个文本框的时候却无法取得文本框里面的字符串呢???<script>
function pass(){
//拼 传递参数字符串
var parameters="";
for(i=0;i<document.all.text1.length;i++){
parameters+=document.all.text1[i].value+"$"+document.all.text2[i].value+"|";
}
//去掉末尾的"|"
parameters=parameters.substring(0,parameters.length-1);
//定位到receive.jsp
window.location="recevie.jsp?"+parameters;
}
</script><script language="javascript" type="text/javascript">
<!--
function add(){
obj = document.getElementById('dtext1');
currHtml = obj.innerHTML;
newHtml = currHtml+"\n<input type=\"text\" name=\"text1\" value=\"\" size=\"30\" />\n"+"\n<input type=\"text\" name=\"text2\" value=\"\" size=\"50\" /><br>\n";
obj.innerHTML = newHtml;
}
//-->
</script><div id="dtext1">
<input type="text" name="text1" value="" size="30" />
<input type="text" name="text2" value="" size="50" /><br>
</div><input type=button value="add" onclick="add();"/>
<input type=button value="tj" onclick="pass()">

解决方案 »

  1.   

    var parameters=""; 
    for(i=0;i <document.all.text1.length;i++){ 
    parameters+=document.all.text1[i].value+"$"+document.all.text2[i].value+"|"; 

    该为
    var parameters=""; 
    for(i=0;i <document.all.text1.length;i++){ 
       //你这两个符号我没太明白,是替换着出现还是(不知道你的文本有多少),要是换着出现的话你可以判断一下
       if(i除2判断余数,就能得到你想要的结果)
       parameters=parameters + document.all.text1[i].value+符号1;

    var 符号1="$";
    var 符号2="|";
      

  2.   

    parameters+=document.all.text1[i].value+"$"+document.all.text2[i].value+"|"; 这一段的意思就是要把文本框 "text1" +$+ "text2" 里的字符串先连接起来以后,再和下一个循环中的文本框的内容连接。
      

  3.   


    我运行的结果是,如果动态增加了文本框,就可以向下一个页面传递正确的数据,但如果不增加文本框,
    好像开始的 for 循环完全没有运行,没有向下一个页面传递任何东西
      

  4.   

    这是有多个文本框时,传递到下一页的数据,就是红色的那部分,http://192.168.0.1/ad/fun/recevie.jsp?fff$45454|ffgg$5643当只有一个文本框时,就是下面的样子http://192.168.0.1/ad/fun/recevie.jsp?