調整版
javascript
1<script>
2window.addEventListener('DOMContentLoaded', ()=>{
3 const tuikaBtn = document.querySelector("#tuikaBtn");
4 const formobject = document.querySelector("#form-area");
5 const tableobject = document.querySelector("#tourokuTable tbody");
6 const namae = document.querySelector("#namae");
7 const nickname = document.querySelector("#nickname");
8 const tuikaBtnView=()=>{
9 const tuikanumber=tableobject.querySelectorAll('tr').length;
10 tuikaBtn.style.visibility=tuikanumber>=3?"hidden":"";
11 }
12 tuikaBtn.addEventListener('click',()=>{
13 if(namae.value == "" || nickname.value == "") return false;
14 let kakunin = confirm(`${namae.value}さん${nickname.value}を登録します。よろしいですか?`);
15 if(!kakunin) return false;
16 alert(`${namae.value}さん${nickname.value}にて登録しました。`);
17 let tr = "<tr>";
18 tr += `<td>${formobject.namae.value}</td>`;
19 tr += `<td>${formobject.nickname.value}</td>`;
20 tr += `<td><input type="button" value="del" class="del"</td>`;
21 tr += `</tr>`;
22 tableobject.insertAdjacentHTML( "beforeend", tr );
23 tuikaBtnView();
24 });
25 document.addEventListener('click',e=>{
26 const t=e.target;
27 if(t.matches('.del')){
28 t.closest('tr').remove();
29 tuikaBtnView();
30 }
31 });
32});
33</script>
34
35<form id="form-area" method="post">
36<div class="form-group">
37<div class="input-group">
38<input id="namae" name="namae" type="text" class="form-control" placeholder="名前">
39</div>
40</div>
41<div class="form-group">
42<div class="input-group">
43<input id="nickname" name="nickname" type="text" class="form-control" placeholder="ニックネーム">
44</div>
45</div>
46<div class="form-group">
47<input id="tuikaBtn" type="button" name="touroku" value="追加">
48</div>
49</form>
50
51<table id="tourokuTable" >
52<thead>
53<tr>
54<th id="tableName">名前</th>
55<th id="tableNickname">ニックネーム</th>
56<th> </th>
57</tr>
58</thead>
59<tbody>
60</tbody>
61</table>
参考
UI的にはチェックしてまとめて削除のほうが楽かもしれません
javascript
1<script>
2window.addEventListener('DOMContentLoaded', ()=>{
3 const tuikaBtn = document.querySelector("#tuikaBtn");
4 const sakujoBtn = document.querySelector("#sakujoBtn");
5 const formobject = document.querySelector("#form-area");
6 const tableobject = document.querySelector("#tourokuTable tbody");
7 const namae = document.querySelector("#namae");
8 const nickname = document.querySelector("#nickname");
9 const tuikaBtnView=()=>{
10 const tuikanumber=tableobject.querySelectorAll('tr').length;
11 tuikaBtn.toggleAttribute("hidden",tuikanumber>=3);
12 }
13 tuikaBtn.addEventListener('click',()=>{
14 if(namae.value == "" || nickname.value == "") return false;
15 let kakunin = confirm(`${namae.value}さん${nickname.value}を登録します。よろしいですか?`);
16 if(!kakunin) return false;
17 alert(`${namae.value}さん${nickname.value}にて登録しました。`);
18 let tr = "<tr>";
19 tr += `<td><input type="checkbox" class="del"></td>`;
20 tr += `<td>${formobject.namae.value}</td>`;
21 tr += `<td>${formobject.nickname.value}</td>`;
22 tr += `</tr>`;
23 tableobject.insertAdjacentHTML( "beforeend", tr );
24 tuikaBtnView();
25 });
26 sakujoBtn.addEventListener('click',()=>{
27 let sakujo = document.querySelectorAll('.del:checked');
28 if(sakujo.length==0){
29 alert('チェックして!');
30 return false;
31 }
32 let kakunin = confirm(`チェックしたデータを削除ますか?`);
33 if(kakunin) sakujo.forEach(x=>x.closest('tr').remove());
34 tuikaBtnView();
35 });
36});
37</script>
38
39<form id="form-area" method="post">
40<div class="form-group">
41<div class="input-group">
42<input id="namae" name="namae" type="text" class="form-control" placeholder="名前">
43</div>
44</div>
45<div class="form-group">
46<div class="input-group">
47<input id="nickname" name="nickname" type="text" class="form-control" placeholder="ニックネーム">
48</div>
49</div>
50<div class="form-group">
51<input id="tuikaBtn" type="button" name="touroku" value="追加">
52<input id="sakujoBtn" type="button" name="sakujo" value="削除">
53</div>
54</form>
55
56<table id="tourokuTable" >
57<thead>
58<tr>
59<th>削除</th>
60<th id="tableName">名前</th>
61<th id="tableNickname">ニックネーム</th>
62</tr>
63</thead>
64<tbody>
65</tbody>
66</table>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/25 22:42
2022/10/26 00:21
2022/10/26 00:38
2022/10/26 00:51
2022/10/26 23:00
2022/10/28 00:59