02.添加删除记录练习-添加(修改).html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. //删除tr的响应函数
  10. function delA() {
  11. // alert("hello");
  12. //点击超链接以后,需要删除超链接所在的那一行
  13. //这里我们点击哪个超链接,this就是谁
  14. // alert(this);
  15. //获取当前tr
  16. var tr = this.parentNode.parentNode;
  17. //获取要删除的员工的名字
  18. // var name = tr.getElementsByTagName("td")[0].innerHTML;
  19. var name = tr.children[0].innerHTML;
  20. //删除之前弹出一个提示框
  21. /**
  22. * confirm()用于弹出一个带有确认和取消按钮的提示框
  23. * 需要一个字符串作为参数,该字符串将会作为提示文字显示出来
  24. * 如果用户点击确认则会返回true,如果点击取消则返回false
  25. */
  26. var flag = confirm("确认删除" + name + "吗?");
  27. // alert(flag);
  28. if (flag) {
  29. //删除tr
  30. tr.parentNode.removeChild(tr);
  31. };
  32. /**
  33. * 点击超链接以后,超链接会跳转页面,这个是超链接的默认行为
  34. * 但是此时我们不希望出现默认行为,
  35. * 可以通过在相应函数的最后return false来取消默认行为
  36. * 或者将超链接的diam改为下面的代码也可以:
  37. * <td><a href="javascript:;">Delete</a></td>
  38. */
  39. return false;
  40. };
  41. window.onload = function () {
  42. /**
  43. * 点击超链接以后,删除一个员工的信息
  44. */
  45. //获取所有的超链接
  46. var allA = document.getElementsByTagName("a");
  47. //为每个超链接都绑定一个单击响应函数
  48. // for (var i = 0; i < allA.length; i++) {
  49. // allA[i].onclick = function () {
  50. // // alert("hello");
  51. // //点击超链接以后,需要删除超链接所在的那一行
  52. // //这里我们点击哪个超链接,this就是谁
  53. // // alert(this);
  54. // //获取当前tr
  55. // var tr = this.parentNode.parentNode;
  56. // //获取要删除的员工的名字
  57. // // var name = tr.getElementsByTagName("td")[0].innerHTML;
  58. // var name = tr.children[0].innerHTML;
  59. // //删除之前弹出一个提示框
  60. // /**
  61. // * confirm()用于弹出一个带有确认和取消按钮的提示框
  62. // * 需要一个字符串作为参数,该字符串将会作为提示文字显示出来
  63. // * 如果用户点击确认则会返回true,如果点击取消则返回false
  64. // */
  65. // var flag = confirm("确认删除" + name + "吗?");
  66. // // alert(flag);
  67. // if (flag) {
  68. // //删除tr
  69. // tr.parentNode.removeChild(tr);
  70. // };
  71. // /**
  72. // * 点击超链接以后,超链接会跳转页面,这个是超链接的默认行为
  73. // * 但是此时我们不希望出现默认行为,
  74. // * 可以通过在相应函数的最后return false来取消默认行为
  75. // * 或者将超链接的diam改为下面的代码也可以:
  76. // * <td><a href="javascript:;">Delete</a></td>
  77. // */
  78. // return false;
  79. // };
  80. // };
  81. //代码修改后,可以写成下面的格式
  82. for (var i = 0; i < allA.length; i++) {
  83. allA[i].onclick = delA;
  84. };
  85. /**
  86. * 添加员工的功能
  87. * -点击按钮以后,将员工的信息添加到表格中
  88. */
  89. //为提交按钮绑定单击响应函数
  90. var addEmpButton = document.getElementById("addEmpButton");
  91. addEmpButton.onclick = function () {
  92. // alert("hello");
  93. //获取用户添加的员工信息
  94. //获取员工的名字
  95. var name = document.getElementById("empName").value;
  96. // alert(name);
  97. //获取员工的email和salary
  98. var email = document.getElementById("email").value;
  99. var salary = document.getElementById("salary").value;
  100. // alert(name+","+email+","+salary);
  101. /**
  102. * 需要将获取到的信息保存到tr中
  103. */
  104. //创建一个tr
  105. var tr = document.createElement("tr");
  106. //设置tr中的内容
  107. tr.innerHTML = "<td>"+name+"</td>"+
  108. "<td>"+email+"</td>"+
  109. "<td>"+salary+"</td>"+
  110. "<td><a href='javascript:;'>Delete</a></td>";
  111. //获取刚刚添加的a元素,并为其绑定单击响应函数
  112. var a = tr.getElementsByTagName("a")[0];
  113. a.onclick = delA;
  114. // //创建四个td
  115. // var nameTd = document.createElement("td");
  116. // var emailTd = document.createElement("td");
  117. // var salaryTd = document.createElement("td");
  118. // var aTd = document.createElement("td");
  119. // //创建一个a元素
  120. // var a = document.createElement("a");
  121. // //创建文本节点
  122. // var nameText = document.createTextNode(name);
  123. // var emailText = document.createTextNode(email);
  124. // var salaryText = document.createTextNode(salary);
  125. // var delText = document.createTextNode("Delete");
  126. // //将文本添加到td中
  127. // nameTd.appendChild(nameText);
  128. // emailTd.appendChild(emailText);
  129. // salaryTd.appendChild(salaryText);
  130. // //向a中添加文本
  131. // a.appendChild(delText);
  132. // //将a添加到td中
  133. // aTd.appendChild(a);
  134. // //将td添加到tr中
  135. // tr.appendChild(nameTd);
  136. // tr.appendChild(emailTd);
  137. // tr.appendChild(salaryTd);
  138. // tr.appendChild(aTd);
  139. // //向a中添加href属性
  140. // a.href = "javascript:;";
  141. // //为新添加的a再绑定一次单击响应函数
  142. // // a.onclick = function () {
  143. // // // alert("hello");
  144. // // //点击超链接以后,需要删除超链接所在的那一行
  145. // // //这里我们点击哪个超链接,this就是谁
  146. // // // alert(this);
  147. // // //获取当前tr
  148. // // var tr = this.parentNode.parentNode;
  149. // // //获取要删除的员工的名字
  150. // // // var name = tr.getElementsByTagName("td")[0].innerHTML;
  151. // // var name = tr.children[0].innerHTML;
  152. // // //删除之前弹出一个提示框
  153. // // /**
  154. // // * confirm()用于弹出一个带有确认和取消按钮的提示框
  155. // // * 需要一个字符串作为参数,该字符串将会作为提示文字显示出来
  156. // // * 如果用户点击确认则会返回true,如果点击取消则返回false
  157. // // */
  158. // // var flag = confirm("确认删除" + name + "吗?");
  159. // // // alert(flag);
  160. // // if (flag) {
  161. // // //删除tr
  162. // // tr.parentNode.removeChild(tr);
  163. // // };
  164. // // /**
  165. // // * 点击超链接以后,超链接会跳转页面,这个是超链接的默认行为
  166. // // * 但是此时我们不希望出现默认行为,
  167. // // * 可以通过在相应函数的最后return false来取消默认行为
  168. // // * 或者将超链接的diam改为下面的代码也可以:
  169. // // * <td><a href="javascript:;">Delete</a></td>
  170. // // */
  171. // // return false;
  172. // // };
  173. // //代码简化后,可以写成下面的格式
  174. // a.onclick = delA;
  175. //获取table
  176. var employeeTable = document.getElementById("employeeTable");
  177. //获取employeeTable中的tbody
  178. var tbody = employeeTable.getElementsByTagName("tbody")[0];
  179. //将tr添加到table中
  180. employeeTable.appendChild(tr);
  181. // tbody.innerHTML += "<tr>"+
  182. // "<td>"+name+"</td>"+
  183. // "<td>"+email+"</td>"+
  184. // "<td>"+salary+"</td>"+
  185. // "<td><a href='javascript:;'>Delete</a></td>"
  186. // +"</tr>";
  187. //不建议采用上面注释掉的方式进行添加
  188. };
  189. };
  190. </script>
  191. </head>
  192. <body>
  193. <table id="employeeTable">
  194. <tr>
  195. <th>name</th>
  196. <th>Email</th>
  197. <th>Salary</th>
  198. <th>&nbsp;</th>
  199. </tr>
  200. <tr>
  201. <td>Tom</td>
  202. <td>tom@Tom.com</td>
  203. <td>5000</td>
  204. <td><a href="deleteEmp?id=001">Delete</a></td>
  205. </tr>
  206. <tr>
  207. <td>Jerry</td>
  208. <td>jerry@sohu.com</td>
  209. <td>8000</td>
  210. <td><a href="deleteEmp?id=002">Delete</a></td>
  211. </tr>
  212. <tr>
  213. <td>Bob</td>
  214. <td>Bob@sohu.com</td>
  215. <td>10000</td>
  216. <td><a href="deleteEmp?id=003">Delete</a></td>
  217. </tr>
  218. </table>
  219. <div id="formDiv">
  220. <h4>添加新员工</h4>
  221. <table>
  222. <tr>
  223. <td class="word">name:</td>
  224. <td class="inp">
  225. <input type="text" name="empName" id="empName" />
  226. </td>
  227. </tr>
  228. <tr>
  229. <td class="word">email:</td>
  230. <td class="inp">
  231. <input type="text" name="email" id="email" />
  232. </td>
  233. </tr>
  234. <tr>
  235. <td class="word">salary:</td>
  236. <td class="inp">
  237. <input type="text" name="salary" id="salary" />
  238. </td>
  239. </tr>
  240. <tr>
  241. <td colspan="2" align="center">
  242. <button id="addEmpButton" value="abc">Submit</button>
  243. </td>
  244. </tr>
  245. </table>
  246. </div>
  247. </body>
  248. </html>