检查发现js代码如下:
<script> function deleteUser(id) { if (confirm("你确定要删除吗")){ location="${pageContext.request.contextPath}/delUserServlet?id="+id; } } window.οnlοad=function () { //给删除选中按钮添加单击事件delSelect document.getElementById("delSelect").οnclick=function () { //表单提交 /*document.getElementsByTagName("form")[1].submit();*/ document.getElementById("formed").submit(); } //获取第一个cb firstCb } document.getElementById("firstCb").οnclick=function () { //获取下列表所有的cb var cbs = document.getElementsByName("uid"); //遍历每一个cb for (var i=0;i<cbs.length;i++){ //这是这些cbs[i]的checked的状态=firstCb的checked cbs[i].checked=this.checked; } } </script>
当js文件放在head里面时,如果绑定了onclick事件,就会出现这样的错误,是因为W3School的写法是浏览器先加载完按钮节点才执行的js,所以当浏览器自顶向下解析时,找不到onclick绑定的按钮节点,于是报错。因此,需要把js文件放在底部加载,就会避免该问题。或者像如下操作,将代码放在window.οnlοad=function(){ }的匿名函数中
<script> function deleteUser(id) { if (confirm("你确定要删除吗")){ location="${pageContext.request.contextPath}/delUserServlet?id="+id; } } window.οnlοad=function () { //给删除选中按钮添加单击事件delSelect document.getElementById("delSelect").οnclick=function () { //表单提交 /*document.getElementsByTagName("form")[1].submit();*/ document.getElementById("formed").submit(); } //获取第一个cb firstCb document.getElementById("firstCb").οnclick=function () { //获取下列表所有的cb var cbs = document.getElementsByName("uid"); //遍历每一个cb for (var i=0;i<cbs.length;i++){ //这是这些cbs[i]的checked的状态=firstCb的checked cbs[i].checked=this.checked; } } } </script>