作者文笔不佳,有时候想表述的东西不能很好的表达 ,所以想用博客来记录一下学习的历程同时也锻炼自己的表达能力。
今天想说的是在浏览器界面中勾选复选框的操作
1如何勾选一个复选框来删除对应的数据
2如何勾选总的复选框来删除所有数据信息
3如果避免没有勾选复选框 确点击了删除按钮而报空指针异常
4总结复选框checkbox的checked属性即如何判断此复选框是否被勾选的
因为这个是基于用户信息管理数据案例中想说明的一个问题 但感觉直接说十分突兀 不过现在还是先打算记录下来,之后有时间会把整个案例的开发流程详细说一下,以巩固知识。
<script>
function deleteUser(id) {
//相当于点击删除按钮 跳转到一个是否确定删除的框
//访问到路径
//用户安全提示
if (confirm("您确定要删除吗?")) {
location.href="${pageContext.request.contextPath}/delUserServlet?id="+id;
}
}
//window.onload:在页面所有资源加载完后执行,如果有多个定义则只执行最后一个
window.function () {
//给删除选中按钮添加单击事件
//如果点击了删除选中按钮
document.getElementById("delSelected").function () {
if (confirm("您确定要删除吗?")) {
//防止空表单 判断是否有表单被选中
var flag = false;
var cbs = document.getElementsByName("uid")
for (var i=0;i<cbs.length;i++){
if (cbs[i].checked){
//有目标被选中
flag=true;
break;
}
}
if (flag){
//获取表单form 提交表单
document.getElementById("form").submit();
}
}
}
//获取第一个cb 如果点击(onclick)了firstCb 就执行function
document.getElementById("firstCb").function () {
//获取列表下的所有cb
//注意getElementsByName与getElementsById的区别 他们返回的都是id/name为uid的数据对象
var cbs = document.getElementsByName("uid")
//变量var 是在js中定义的
for (var i=0;i<cbs.length;i++){
//把每一个cb都与第一个状态firstCd一样 checked是是否点选复选框的一个状态
cbs[i].checked = this.checked;
// checked: boolean; 可以知道如果这个checkbox被选中 则checked会返回true
}
}
}
</script>
在浏览器界面中,如果复选框被选中则返回t变量值true,从而告诉后端此复选框被选中,在包中checked的定义如下: