私は入力フィールドのリストを動的に構築するためにインターネット上で見つかった次の例を使用しています。動的に入力フィールドにjavascriptを追加しましたが、これらのフィールドのパラメータ名は何ですか?
正常に動作するようですが、私は、フォームを送信すると、PARAM名は私がのHttpServletRequestからのデータを入れて使うのですか?あなたの入力は(自分のJSPは、名前を使用していない場合は「ID」が、名前は、私は信じていることが好ましい)、「名前」属性をオブジェクト与える必要が
おかげで、ロブ
<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<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);
cell2.innerHTML = rowCount + 1;
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
cell3.appendChild(element2);
}
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>
</HEAD>
<BODY>
<form name="myform" action="myServlet" method="post">
<INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
<INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD><INPUT type="checkbox" name="chk"/></TD>
<TD> 1 </TD>
<TD>
<INPUT type="text" />
</TD>
</TR>
</TABLE>
<input type="submit" value="Go!"/>
</form>
</BODY>
</HTML>
ありがとうございますが、「追加」ボタンを何度もクリックできます。各入力に固有の名前が必要ですか?私はこれをどのように扱うことを提案しますか? –
@Robert Hume参照編集:)私は最初に答えた後にそれを実現しました – Kasapo
また、私はCastToStringを作りました - 私はちょうどあなたがそれが文字列でないならばそれをキャストしなければならないことを指摘したいと思っていました - Javaはしばらくの間 – Kasapo