织梦的自定义表单的可拓展以及自由度非常强,很多使用者都喜欢用它来代替留言表单,但是,非常多的垃圾信息留言也为开发者留下了头痛的问题,即使有验证的挡板,但是,大家都只知道那只是“防君子不防小人”。之前博主介绍了用SQL命令来批量清除垃圾留言消息,访客可自行浏览:自定义表单SQL命令行批量删除垃圾留言
雨田SEOER再介绍一种方法,通过全选功能,来自己筛选可删除的垃圾留言信息。
在/dede/templets/中找到diy_list.htm模板文件:
查找定位到<label><input type="radio" name="action" value="check" class='np' />审核</label>上方。
添加以下代码:
<script type="text/javascript">
function selectAll(name)
{
var id=document.getElementsByName("id[]");
for (var i=0;i<id.length;i++)
{
if(id[i].type=="checkbox"&&id[i].name==name)
{
id[i].checked=true;
}
}
}
function clearAll(name)
{
var id=document.getElementsByName("id[]");
for (var i=0;i<id.length;i++)
{
if(id[i].type=="checkbox"&&id[i].name==name)
{
id[i].checked=false;
}
}
}
</script>
<label><input type="button" value="全选" οnclick="selectAll('id[]')"></label>
<label><input type="button" value="取消" οnclick="clearAll('id[]')"></label>
上传覆盖后,刷新自定义表单即可发现有改动。亲测可用!!!(修改文件前请先备份该文件!)
以上的实现方法是参考了如下的代码修改:(没测试,不保证能用,博主很少分析代码,测试能用就行!)
/*全选*/
function chAll(name)
{
var len = document.getElementsByName(name).length;
for(var i=0; i < len; i++)
{
document.getElementsByName(name)[i].checked = true;
}
}
//全不选
function unchAll(name)
{
var len = document.getElementsByName(name).length;
for(var i=0; i < len; i++)
{
document.getElementsByName(name)[i].checked = false;
}
}
//选中的值
function chValue(name)
{
var arr = new Array();
var obj = document.getElementsByName(name);
var len = obj.length;
for(var i=0; i < len; i++)
{
if(obj[i].checked == true)
{
arr.push(obj[i].value);
}
}
var val = arr.join(',');
alert(val);
}
<input name="delarr[]" type="checkbox" value="1">
<input name="delarr[]" type="checkbox" value="2">
<input name="delarr[]" type="checkbox" value="3">
<input name="delarr[]" type="checkbox" value="4">
<input type="button" value="全选" οnclick="chAll('delarr[]')"><input type="button" value="取消选择" οnclick="unchAll('delarr[]')">