2012-05-02 19 views
4

我試圖從JSP向servlet傳遞具有相同名稱的文本框的值,但無法完成此任務。在Servlet中從JSP中檢索具有相同名稱的多個文本框值

我試圖在Servlet中使用,但我只能得到一個文本框的值:

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

您不會將動態創建的輸入元素命名爲「words」或「m需要整理「)

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

嘿,謝謝你!我想知道這是如何從我腦海中滑落:P再次感謝:) – user1371033

5

如果你有一個這樣的形式:

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

發送,如果你把textboxs 一個

words=one&words=two 

爲了得到,

String[] words = request.getParameterValues("words"); 
+0

我的領域是這樣的',''等等。我怎樣才能在servlet結束? –

相關問題