当前位置 : 主页 > 网站建设 > 正文

DedeCMS自定义表单联动类别不更新

未知

重庆seo2017-05-23 18:52:25阅读()dedecmsdede会员中心A+ / A-

DedeCMS自定义表单联动类别不更新

       DedeCMS自定义表单总体来说比较好用,特别对要求不是很高的网站来说已经足够了。不用单独找表单提交插件,减少开发时间。

       DedeCMS默认的一些功能并不十分完善,需要二次开发才符合用户体验。

       增加会员中心对应表单全选功能、自定义表单全选功能和联动类别不更新BUG。

会员中心相关全选功能

       开发DedeCMS会员系统时,遇到一些需要全选功能,这时可以增加在对应模板的</head>之前,增加系统默认的JS

JS部分(放在</head>之前)

<script type="text/javascript" src="templets/js/table_function.js"></script>
<script type="text/javascript">
//获得选中文件的文件名
function GetCheckfolderItem(){
 var allSel='';
 if(document.form1.deleteid.value) return document.form1.deleteid.value;
 for(i=0;i<document.form1.deleteid.length;i++){
  if(document.form1.deleteid[i].checked){
   if(allSel=='')
    allSel=document.form1.deleteid[i].value;
   else
    allSel=allSel+","+document.form1.deleteid[i].value;
   }
  }
  return allSel;
}
//删除信息
function DoSubmit(){
 var selid = GetCheckfolderItem();
 if(selid=='') {
  alert("你没选中任何信息!");
  return false;
 }
 if(window.confirm("你确定要删除这些消息么?")){
 //location = "shops_orders.php?dopost=del&ids="+selid; //这部分需要单独做,如果不需要改功能删除该function
 }
}
</script>

正文部分

       GetCheckfolderItem函数控制的对应的check选项卡name="deleteid"如

<input type="checkbox" name="deleteid" value="">

按钮部分

       下面红色部分不可少,第二个按钮的删除选中功能根据实际需要修改。

<button id="checkedClick" type="button" class="greenBtn1">全选</button>
<button type="button" onclick="DoSubmit()" class="greenBtn3">删除选中</button>

另外一种通用check全选、全不选功能

JS部分(放在</head>之前)

<script language=javascript>
function selectAll(){
 var a = document.getElementsByTagName("input");
 if(a[0].checked){
  for(var i = 0;i<a.length;i++){
   if(a[i].type == "checkbox") a[i].checked = false;
  }
 }else{
  for(var i = 0;i<a.length;i++){
   if(a[i].type == "checkbox") a[i].checked = true;
  }
 }
}
</script>

正文body部分

<input type="button" name="select" onclick="selectAll()" value="全选/全不选"/>

DedeCMS联动类别缓存JS不更新BUG

       联动类别可以自己增加,但是修改后,更新却没有效果,这个BUG解决很简单

       找到/include/enums.func.php,找到

if(empty($issign)) WriteEnumsJs($egroup);

       替换为

WriteEnumsJs($egroup);

同一页面调用多个相同JS联动类别

必要JS下载链接:

       将上面代码保存为新的js文件,注意不要覆盖官方原来的,否则可能因为后续的多级联动菜单添加而反复修改文件

<script language="javascript" type="text/javascript" src="你自定义的js文件目录"></script>

       这句不多说,注意在页面的运行脚本中,原来的两个参数改成了三个,第一个是联动类型的英文名称,具体请在后台查看。

       第二个参数是你自定义的id,防止页面上出现重复id的现象,第三个参数是初始选项。

<script language="javascript" type="text/javascript">MakeTopSelect("MyArea","IdName", 0);</script>

    扩展阅读

    本文地址:https://www.vi586.com/web/426.html
    版权声明:网摘,版权归原作者所有

    赞(2)