-1

コンマ区切りの区切り文字に基づいてリスト配列の値を分割しようとしています。次に、これを 5 つのカンマ区切りの値で配列に入れます。次に、カンマ区切りの値で各配列を再度分離し、それらをテキストボックスに割り当てます。しかし、私は以下のエラーが発生しています。助けてください。

エラー: オブジェクトはこのプロパティまたはメソッドをサポートしていません。

<body>
   <script>
      function functionOne()  {
         var list = "[768.234.232, 768.234.232, 574, 2013-06-29, 2013-06-29, 768.234.232, 768.234.232, 987, 2013-06-29, 2013-06-29]";
         list = list.slice(1,-1);                 // remove the enclosing []
         var allValues = list.split(/\s*,\s*/);   // split on comma with optional whitespace
         var a = [];
         var counter=0;
         for ( var i = 0 ; i < allValues.length ; i += 5 ) {
             a.push( allValues.slice( i, i+5 ) );

             for (var k = 0 ; k < a.length ; k++ ) {
                foo = a[i].split(",");
                for (var j = 0 ; j < foo.length ; j++ ) {
                   document.getElementById('name' + counter).value = foo[j];
                   counter++;
                }
             }
          }
      }

    </script>

    <form>
        <table class="cmn-table" id="t1" border="1"
            style="margin-left: 0.2em; margin-right: 0em">
        <tr>
            <th>Sl.No</th>
            <th>Source IP Address</th>
            <th>Destination IP Address</th>
            <th>Service and Port (TCP, UDP, etc.)</th>
            <th>Start Date</th>
            <th>Expiration Date</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="name0" 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="name" id="s2" size="2" value="2"
                    readonly="readonly" /></td>
            <td><input type="text" name="name0" 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="functionOne()">

</body>
4

2 に答える 2

3

ここに 1 つの問題があります。

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

もしかして

      for (var k = 0; k < a.length; k++) {
            foo = a[k].split(",");
                    ^ THIS

?

于 2013-07-03T04:45:54.593 に答える
1

これはコードのタイプミス/間違いです: (foo = a[i].split(",");) から foo = a[k]; に変更してください。私はあなたをフィドルにしました:http://jsfiddle.net/Qtsqp/

  for (var i = 0; i < allValues.length; i+=5) {
      a.push( allValues.slice(i, i+5) );

      for (var k = 0; k < a.length; k++) {

            foo = a[k];
            for (var j = 0; j < foo.length; j++) {
                document.getElementById('name' + counter).value = foo[j];
                counter++;
            }
        }
  }
于 2013-07-03T04:54:43.147 に答える