2013-07-02 75 views
0

我正在編寫基於分隔符(,)拆分數組並將該值放入文本框的javascript。每個數組都包含確切的五個逗號分隔值。我想下面的代碼,並得到錯誤無法將數組值分配給文本框

"Error: Object doesn't support this property or method".

我發現與此相關的錯誤在這個網站上的信息,但現在看來,它並不適用於這種情況下。請任何人都幫我解決這個問題。

<script> 

function show() { 
     var mycars = new Array(); 
     mycars[0] = "768,232,574,768.234"; 
     mycars[1] = "abc, def, ghi, jkl,mno"; 

     for(var i=0; i<mycars[i].length; i++){ 
      mycars= mycars.split(","); 

      document.getElementById('name')[0].value=mycars; 
     } 

    } 
</script> 
<form> 
    <table class="cmn-table" id="t1" border="1" 
     style="margin-left: 0.2em; margin-right: 0em"> 
     <tr> 
      <th>Sl.No</th> 
      <th>IP</th> 
      <th>DP</th> 
      <th>TCP</th> 
      <th>SD</th> 
      <th>ED</th> 
     </tr> 
     <tr> 
      <td><input type="text" name="name11" id="s1" value="1" size="2" 
       readonly="readonly" /></td> 

      <td><input type="text" name="name0" id="name" size="20"> 
      </td> 
      <td><input type="text" name="name1" id="name1" size="20"> 
      </td> 
      <td><input type="text" name="name2" id="name2" size="20"> 
      </td> 
      <td><input type="text" name="name3" id="name3" size="15"> 
      </td> 
      <td><input type="text" name="name4" id="name4" size="15"> 
      </td> 
     </tr> 
     <tr> 
      <td><input type="text" name="name0" id="s2" size="2" value="2" 
       readonly="readonly" /></td> 
      <td><input type="text" name="name" id="name5" size="20"> 
      </td> 
      <td><input type="text" name="name1" id="name6" size="20"> 
      </td> 
      <td><input type="text" name="name2" id="name7" size="20"> 
      </td> 
      <td><input type="text" name="name3" id="name8" size="15"> 
      </td> 
      <td><input type="text" name="name4" id="name9" size="15"> 
      </td> 
     </tr> 
    </table> 

</form> 
<input type="button" value="Click" onclick="show()"> 

+2

'getElementById()'返回一個結果。數組下標不需要。 – 2013-07-02 18:41:28

+1

你試圖覆蓋你的數組在這裏'mycars = mycars.split(「,」);' – j08691

+0

你是否試圖在每行的文本輸入拆分逗號分隔的字符串? – j08691

回答

1

你必須做一個小的改變你的HTML(更改的 「名稱」 爲 「NAME0」 的ID),並使用這個JavaScript:

function show() { 
    var mycars = new Array(); 
    var counter = 0; 
    mycars[0] = "768,232,574,768,234"; 
    mycars[1] = "abc, def, ghi, jkl,mno"; 
    for (var i = 0; i < mycars.length; i++) { 
     foo = mycars[i].split(","); 
     for (var j = 0; j < foo.length; j++) { 
      document.getElementById('name' + counter).value = foo[j]; 
      counter++; 
     } 
    } 
} 

jsFiddle example

請注意,我假設您在您的示例mycars[0] = "768,232,574,768.234";中存在拼寫錯誤,並且它應該是mycars[0] = "768,232,574,768,234";

+1

謝謝@ j08691。完美答案。 – Nash