2012-05-02 21 views
4

JSPからサーブレットに同じ名前のテキストボックスの値を渡そうとしていますが、このタスクを実行できません。サーブレットのJSPから同じ名前の複数のテキストボックス値を取得する

私は、サーブレットでこれを使用してみましたが、私は唯一のテキストボックスの値を取得:

String[] words = request.getParameterValues("words"); 
String[] meanings = request.getParameterValues("meaning"); 

複数のテーブルの行を生成するのに役立ちます私のjavascriptは:

<SCRIPT language="javascript"> 
     function addRow(tableID) { 

      var table = document.getElementById(tableID); 

      var rowCount = table.rows.length; 
      var row = table.insertRow(rowCount); 

      var cell1 = row.insertCell(0); 
      var element1 = document.createElement("input"); 
      element1.type = "checkbox"; 
      cell1.appendChild(element1); 

      var cell2 = row.insertCell(1); 
      var element2 = document.createElement("input"); 
      element2.type = "text"; 

      cell2.appendChild(element2); 

      var cell3 = row.insertCell(2); 
      var element3 = document.createElement("input"); 
      element3.type = "text"; 
      cell3.appendChild(element3); 

     } 

     function deleteRow(tableID) { 
      try { 
      var table = document.getElementById(tableID); 
      var rowCount = table.rows.length; 

      for(var i=0; i<rowCount; i++) { 
       var row = table.rows[i]; 
       var chkbox = row.cells[0].childNodes[0]; 
       if(null != chkbox && true == chkbox.checked) { 
        table.deleteRow(i); 
        rowCount--; 
        i--; 
       } 

      } 
      }catch(e) { 
       alert(e); 
      } 
     } 

    </SCRIPT> 

HTMLテーブルは、複数の行を生成します: -

</body> 
<form name="managelist" action="../createlistpath" method="post"> 

    <TABLE id="dataTable" width="600px" border="0"> 
    <tr> 
    <td><b> List Name</b></td> 
    <td colspan="2"><input type="text" name="listname"></td> 
    </tr> 

    <tr > 
     <td><b>Select</b></td> 
     <td><b>Word</b></td> 
     <td><b>Meaning</b></td> 
    </tr> 
     <TR > 
      <TD><INPUT type="checkbox" name="checkbox"/></TD> 
      <TD> <INPUT type="text" name="words" /> </TD> 
      <TD> <INPUT type="text" name="meaning" /> </TD> 
     </TR> 
    </TABLE> 

<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" /> 

    <INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" /> 
<br> 
<input type="submit" value = "submit" name="submit"> 

</form> 
</body> 

答えて

5

ダイナミックに作成された入力要素の名前を「単語」または「mあなたがそのような形をしている場合)」

 var element2 = document.createElement("input"); 
     element2.name = "words"; 
     element2.type = "text"; 
     cell2.appendChild(element2); 
+1

ねえ、ありがとう! – user1371033

5

をeaning:あなたはおよび取得するための2 textboxsで

words=one&words=two 

を置けば

<form method="post"> 
    <input type="text" name="words"><br> 
    <input type="text" name="words"><br> 
    <input type="submit"> 
</form> 

、送信します
String[] words = request.getParameterValues("words"); 
+0

私のフィールドは次のようなものです: ''、 ' "などです。これをサーブレットの最後でどうやって得るのですか? –

関連する問題