有一段JS赋值的表单,以前是这么写的:
<input name="ggwg" type="text" value="850MMX15MM" size="15">
          &nbsp;&nbsp;<select name="select" onChange="(document.form1.ggwg.value=this.options[this.selectedIndex].value)">
          <option selected>请选择尺寸</option>
          <option value="850MMX10MM">850MMX10MM</option>
          <option value="850MMX18MM">850MMX18MM</option>
          <option value="900MMX22MM">900MMX22MM</option>
          <option value="400MMX10MM">400MMX10MM</option>
          <option value="400MMX12MM">400MMX12MM</option>
          <option value="其他">其他</option>
        </select>
只要一选择右边的这个下拉列表,就会把值填进左边的文本框.
现在的问题变了,出现了一系列的同名表单.就像上面的那样,文本框的'name="ggwg"'变成了name="ggwg[]",(我在PHP中用的)。同一页可能有多个name="ggwg[]",不知道怎么样,才能像以前那样赋值????求助高手。

解决方案 »

  1.   

    try:
    onChange="document.form1.ggwg.value=this.options[this.selectedIndex].value"
    ===>
    onChange="this.lastChild.value=this.options[this.selectedIndex].value"
      

  2.   

    可以按顺序用 document.form1.elements["ggwg[]"][0].value = ... 
      

  3.   

    是我搞错了,晕勒。。我的想法是获取该select的前一个input
    onChange="this.previousSibling.value=this.options[this.selectedIndex].value"这样做的要求是input 和select之间不允许有其他控件,包括换行、&nbsp;等等