01.添加删除记录练习-添加.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  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. //创建四个td
  107. var nameTd = document.createElement("td");
  108. var emailTd = document.createElement("td");
  109. var salaryTd = document.createElement("td");
  110. var aTd = document.createElement("td");
  111. //创建一个a元素
  112. var a = document.createElement("a");
  113. //创建文本节点
  114. var nameText = document.createTextNode(name);
  115. var emailText = document.createTextNode(email);
  116. var salaryText = document.createTextNode(salary);
  117. var delText = document.createTextNode("Delete");
  118. //将文本添加到td中
  119. nameTd.appendChild(nameText);
  120. emailTd.appendChild(emailText);
  121. salaryTd.appendChild(salaryText);
  122. //向a中添加文本
  123. a.appendChild(delText);
  124. //将a添加到td中
  125. aTd.appendChild(a);
  126. //将td添加到tr中
  127. tr.appendChild(nameTd);
  128. tr.appendChild(emailTd);
  129. tr.appendChild(salaryTd);
  130. tr.appendChild(aTd);
  131. //向a中添加href属性
  132. a.href = "javascript:;";
  133. //为新添加的a再绑定一次单击响应函数
  134. // a.onclick = function () {
  135. // // alert("hello");
  136. // //点击超链接以后,需要删除超链接所在的那一行
  137. // //这里我们点击哪个超链接,this就是谁
  138. // // alert(this);
  139. // //获取当前tr
  140. // var tr = this.parentNode.parentNode;
  141. // //获取要删除的员工的名字
  142. // // var name = tr.getElementsByTagName("td")[0].innerHTML;
  143. // var name = tr.children[0].innerHTML;
  144. // //删除之前弹出一个提示框
  145. // /**
  146. // * confirm()用于弹出一个带有确认和取消按钮的提示框
  147. // * 需要一个字符串作为参数,该字符串将会作为提示文字显示出来
  148. // * 如果用户点击确认则会返回true,如果点击取消则返回false
  149. // */
  150. // var flag = confirm("确认删除" + name + "吗?");
  151. // // alert(flag);
  152. // if (flag) {
  153. // //删除tr
  154. // tr.parentNode.removeChild(tr);
  155. // };
  156. // /**
  157. // * 点击超链接以后,超链接会跳转页面,这个是超链接的默认行为
  158. // * 但是此时我们不希望出现默认行为,
  159. // * 可以通过在相应函数的最后return false来取消默认行为
  160. // * 或者将超链接的diam改为下面的代码也可以:
  161. // * <td><a href="javascript:;">Delete</a></td>
  162. // */
  163. // return false;
  164. // };
  165. //代码简化后,可以写成下面的格式
  166. a.onclick = delA;
  167. //获取table
  168. var employeeTable = document.getElementById("employeeTable");
  169. //获取employeeTable中的tbody
  170. var tbody = employeeTable.getElementsByTagName("tbody")[0];
  171. //将tr添加到table中
  172. employeeTable.appendChild(tr);
  173. };
  174. };
  175. </script>
  176. </head>
  177. <body>
  178. <table id="employeeTable">
  179. <tr>
  180. <th>name</th>
  181. <th>Email</th>
  182. <th>Salary</th>
  183. <th>&nbsp;</th>
  184. </tr>
  185. <tr>
  186. <td>Tom</td>
  187. <td>tom@Tom.com</td>
  188. <td>5000</td>
  189. <td><a href="deleteEmp?id=001">Delete</a></td>
  190. </tr>
  191. <tr>
  192. <td>Jerry</td>
  193. <td>jerry@sohu.com</td>
  194. <td>8000</td>
  195. <td><a href="deleteEmp?id=002">Delete</a></td>
  196. </tr>
  197. <tr>
  198. <td>Bob</td>
  199. <td>Bob@sohu.com</td>
  200. <td>10000</td>
  201. <td><a href="deleteEmp?id=003">Delete</a></td>
  202. </tr>
  203. </table>
  204. <div id="formDiv">
  205. <h4>添加新员工</h4>
  206. <table>
  207. <tr>
  208. <td class="word">name:</td>
  209. <td class="inp">
  210. <input type="text" name="empName" id="empName" />
  211. </td>
  212. </tr>
  213. <tr>
  214. <td class="word">email:</td>
  215. <td class="inp">
  216. <input type="text" name="email" id="email" />
  217. </td>
  218. </tr>
  219. <tr>
  220. <td class="word">salary:</td>
  221. <td class="inp">
  222. <input type="text" name="salary" id="salary" />
  223. </td>
  224. </tr>
  225. <tr>
  226. <td colspan="2" align="center">
  227. <button id="addEmpButton" value="abc">Submit</button>
  228. </td>
  229. </tr>
  230. </table>
  231. </div>
  232. </body>
  233. </html>