
お世話になっております。
いま、html(jsp)の入力フォームからいろいろと情報を入力して、DBにインサートする、という機能(管理画面)を製造しています。
このとき、DBにインサートするレコード数が動的に変えられるよう、以下のjsで登録レコード数の増減ができるようにしています。
---以下javascript---
javascript:sample
1/** 2 * 行追加 3 */ 4function insertRow(tableId) { 5 // テーブル取得 6 var table = document.getElementById(tableId); 7 // 行を行末に追加 8 var row = table.insertRow(-1); 9 // セルの挿入 10 var buttonCell = row.insertCell(-1); 11 var Cell1 = row.insertCell(-1); 12 // ボタン用 HTML 13 var button = '<input type="button" value="削除" onclick="deleteRow(this)" class="btn"/>'; 14 var Cell1 = '<input type="text"/>'; 15 // 行数取得 16 var row_len = table.rows.length-1; 17 18 // セルの内容入力 19 buttonCell.innerHTML = button; 20 giftIdCell.innerHTML = Cell1; 21} 22 23/** 24 * 行削除 25 */ 26function deleteRow(obj) { 27 // 削除ボタンを押下された行を取得 28 tr = obj.parentNode.parentNode; 29 // trのインデックスを取得して行を削除する 30 tr.parentNode.deleteRow(tr.sectionRowIndex); 31}
---javascript終わり---
上のjsでは、サンプルとして1カラム分だけ(Cell1)のコードとなっていますが、実際は10ほどカラムがある状態です。
1レコードにつき1行としているので、カラム数が多くなるとどんどん画面右側へ領域を圧迫していき、収まりきらなくなるのは明らかなので、
ここで1レコードのテーブルを適当なところで2分割して、続きは次のテーブル(table1、table2と別のテーブルにして)に入力していくというようなやり方をしようとしています。
こうなった時、jsにある「行追加」及び「行削除」の機能も、1つにつき合計2行増減させる必要があります。
現在、「行追加」はできたのですが、「行削除」が実現できず困っています。
「行削除」のコメントにある通り、「削除ボタンを押下された行を取得」とそれに加えて別テーブルにある「削除ボタンを押下された行」の続きの行も消したいという事です。
やり方がほかにもありそうですが、js初心者の為なかなか行き詰っております。
説明が下手なので「なにがやりたいかわからん」といわれるかもしれないですが、
何がわからないかをわかるように回答したいと思っていますので、
何卒ご教示のほどよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー