Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

追加、削除のやり方を教えてください。

追加ボタンを押すと下に列が増えていき削除ボタン を押すと上に削除するやり方をJavaScriptで教えて いただきたいと思います。 <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> </head> <body> <table border=1> <tr> <th>列1</th> <th>列2</th> <th>列3</th> <th>列4</th> </tr> <tr> <td><input type="text" name="retsu1" value="" size="20" maxlength="10" ></td> <td><input type="text" name="retsu2" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu3" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu4" value="" size="20" maxlength="10"></td> </tr> </table> <td ><input type="button" VALUE="追加" ></td > <td ><input type="button" VALUE="削除" ></td > </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

IE,FireFox兼用版 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> <style> <!-- .No { font-weight:bold; text-align:center; } //--> </style> <script type="text/javascript"> <!-- function ins(){ var newTR; var newTD; newTR = TB.insertRow(TB.rows.length); newTD = newTR.insertCell(0); newTD.className="No"; newTD.innerHTML = ""+newTR.rowIndex; for(var i=1;i<4;i++){ newTD = newTR.insertCell(i); newTD.innerHTML = "<input type='text' name='retsu' value='' size='26' >"; } } function del(){ if(TB.rows.length>0) TB.deleteRow(TB.rows.length-1); } //--> </script> </head> <body> <table border=1> <col width="150"><col span="3"> <thead> <tr> <th class="No">No</th> <th>列1</th> <th>列2</th> <th>列3</th> </tr> </thead> <tbody id="TB"> <tr> <td class="No">1</td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> </tr> <tr> <td class="No">2</td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> </tr> </tbody> </table> <table> <tr> <td ><input type="button" VALUE="追加" onclick="ins()"></td > <td ><input type="button" VALUE="削除" onclick="del()"></td > </tr> </table> </body> </html>

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

#3>TB.deleteRow(TB.rows.count-1) は、 TB.deleteRow(TB.rows.length-1); の誤りでした。 あと、#3の補足により修正してみました。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> <style> <!-- //--> </style> <script type="text/javascript"> <!-- function ins(){ var newTR; var newTD; newTR = TB.insertRow(); newTD = newTR.insertCell(); newTD.innerText = ""+TB.rows.length; for(var i=1;i<4;i++){ newTD = newTR.insertCell(); newTD.innerHTML = "<input type='text' name='retsu' value='' size='26' >"; } } function del(){ TB.deleteRow(TB.rows.length-1) } //--> </script> </head> <body> <table border=1> <col width="150" align="center" style="font-weight:bold"><col span="3"> <thead> <tr> <th >No</th> <th >列1</th> <th >列2</th> <th >列3</th> </tr> </thead> <tbody id="TB"> <tr> <td>1</td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> </tr> <tr> <td>2</td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> <td><input type="text" name="retsu" value="" size="26" ></td> </tr> </tbody> </table> <table> <tr> <td ><input type="button" VALUE="追加" onclick="ins()"></td > <td ><input type="button" VALUE="削除" onclick="del()"></td > </tr> </table> </body> </html>

すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> <style> <!-- //--> </style> <script type="text/javascript"> <!-- function ins(){ var newTR; var newTD; newTR = TB.insertRow(); for(var i=0;i<4;i++){ newTD = newTR.insertCell(); newTD.innerHTML = "<input type='text' name='retsu"+(i+1).toString()+"' value='' size='20' maxlength='10'>"; } } function del(){ TB.deleteRow(TB.rows.count-1) } //--> </script> </head> <body> <table border=1> <thead> <tr> <th>列1</th> <th>列2</th> <th>列3</th> <th>列4</th> </tr> </thead> <tbody id="TB"> <tr> <td><input type="text" name="retsu1" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu2" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu3" value="" size="20" maxlength="10"></td> <td><input type="text" name="retsu4" value="" size="20" maxlength="10"></td> </tr> </tbody> </table> <table> <tr> <td ><input type="button" VALUE="追加" onclick="ins()"></td > <td ><input type="button" VALUE="削除" onclick="del()"></td > </tr> </table> </body> </html>

sankou
質問者

補足

本当にありがとうございます。とても役にたちました。ただ、後になって気ずいたことがあったので再度、教えてもらいたいと思います。 追加ボタンを押すと左のNOが、3,4と下に増える削除ボタンを押すと戻るというやり方はできるのでしょうか?もしくは、NO1-NO3までの間のテキストボックスだけを下に追加、削除で出来るのでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Shift_JIS"> <title>列追加、削除</title> <style> <!-- //--> </style> <script type="text/javascript"> <!-- function ins(){ var newTR; var newTD; newTR = TB.insertRow(); for(var i=0;i<4;i++){ newTD = newTR.insertCell(); newTD.innerHTML = "<input type='text' name='retsu"+(i+1).toString()+"' value='' size='26' maxlength='10'>"; } } function del(){ TB.deleteRow(TB.rows.count-1) } //--> </script> </head> <body> <table border=1> <thead> <col width="150"> <tr> <th rowspan="2">No</th> <th >列1</th> <th >列2</th> <th >列3</th> </tr> </thead> <tbody id="TB"> <tr> <th class="center">1</th> <td><input type="text" name="retsu" value="" size="26" value="" ></td> <td><input type="text" name="retsu" value="" size="26" value="" ></td> <td><input type="text" name="retsu" value="" size="26" value="" ></td> </tr> <tr> <th align="center">2</th> <td><input type="text" name="retsu" value="" size="26" value="" ></td> <td><input type="text" name="retsu" value="" size="26" value="" ></td> <td><input type="text" name="retsu" value="" size="26" value="" ></td> </tr> </tbody> </table> <table> <tr> <td ><input type="button" VALUE="追加" onclick="ins()"></td > <td ><input type="button" VALUE="削除" onclick="del()"></td > </tr> </table> </body> </html>

すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

IE限定ということでよろしいのでしょうか あと、追加する行にtextボックスを作るということですよね。 その名前はどうするのでしょうか

sankou
質問者

補足

回答ありがとうございます。 IE限定です。 追加ボタンを押すと下にtextボックスが追加され 削除ボタンを押すと元に戻るという感じです。 名前は特に限定はないので何でもいいです。 回答待っています。よろしくお願いします。

すると、全ての回答が全文表示されます。
回答No.1

insertRowとかdeleteRowを使います。追加するときは、少しめんどくさく感じるかも

参考URL:
http://homepage3.nifty.com/aya_js/dom/dom03.htm
すると、全ての回答が全文表示されます。

関連するQ&A