<tr>
<td  align="left" class="text_lan" colspan="2" style= "padding-left:118px; ">编码值:
<input name="D1" id="D1" type="text" size="8" />
<input name="D2" id="D2" type="text" size="8" />
<input name="D3" id="D3" type="text" size="8" />
<input name="D4" id="D4" type="text" size="8" />
<input name="D5" id="D5" type="text" size="8" />
</td> 
</tr>
关键的地方
 <s:hidden name="form.codeDef" id="codeDef" value=""/>
我的js
function changeType(){
 var D1 = document.getElementById("D1");
 var D2 = document.getElementById("D2");
 var D3 = document.getElementById("D3");
 var D4 = document.getElementById("D4");
 var D5 = document.getElementById("D5");
 var buffer = new StringBuffer();
     buffer.append(D1);
     buffer.append(D2);
     buffer.append(D3);
     buffer.append(D4);
     buffer.append(D5);
 var result = buffer.toString();
    document.getElementById("codeDef").setAttribute("value",result);
    }
怎样把取到的DX值形成字符串给hidden,主要是hidden怎么去调用changeType()才有效,html里面没有提交之类的按钮
小弟分数有限

解决方案 »

  1.   

    document.getElementById("D5");
    这个获取的是对象
    要是赋值的话 
    document.getElementById("D5").value;加上value 最后拼接起来给codeDef
      

  2.   

    是呀,像楼上说的,你拼接一堆对象有什么用呢?
    应该是value拼接。如果页面上没有按钮,你又想把各个输入项的值拼接起来,
    那你可以在各个输入项失去焦点的时候去调用你的changeType()方法。
    或者在输入框的keyup事件的时候调用。看看你的需求,自己判断一下吧
      

  3.   

    将value拼接了再才好处理了呀
      

  4.   

    每个input都写个onchange<input onchange="changeType()" name="D1" id="D1" type="text" size="8" />
      

  5.   

    你可以写样式style="display:block"一开始让他显示,但你以后然他隐藏就可以了
    none就可以了!