级别: 院长
UID: 119465
精华: 0
发帖: 679
威望: 5 点
积分转换
愚愚币: 826 YYB
在线充值
贡献值: 0 点
在线时间: 45(小时)
注册时间: 2013-03-11
最后登录: 2019-12-21
楼主  发表于: 2016-03-07 08:34

 织梦自定义表单的全面优化策略

愚愚学园www.SciFans.net温馨提示:我们在使用织梦CMS搭建网站的时候,通常需要用到自定义表单来实现诸如在线订单、在线留言、在线报名的功能,然而,织梦CMS的自定义表单功能不是非常完善,下面由湖南长沙网站建设公司-飞云专业建站工作室和大家分享一下,如何全面优化织梦CMS自定义表单系统(以下内容适用于5.7sp1版本):
  一、优化提示框
  织梦CMS在自定义表单系统提交后,会通过自带的提示界面告诉你,留言已经提交,1秒后自动返回。但是很多情况下,我们希望把它改为弹窗提示,具体如何操作呢?我们可以修改PLUS下的DIY.PHP,搜索: showmsg($bkmsg, $goto);这是规定提交后的动作,我们可以修改为:echo " // ";这样就实现了留言提交后的弹窗提示。
  二、添加验证*****
  织梦CMS自定义表单默认没有验证*****功能,为了防止机器人攻击,我们需要为自定义表单添加一个验证*****功能,具体步骤如下:
  1、 表单中加入:
  


  表单中添加的内容
  2、 表单页面中加入:
  


  表单页面内容
  3、 PLUS下的DIY.PHP(61行左右)加入:
  if(!empty($dede_fields))
  {
  $validate = empty($validate) ? '' : strtolower(trim($validate));
  $svali = strtolower(GetCkVdValue());
  if(($validate=='' || $validate != $svali)  preg_match("/6/",$safe_gdopen)){
  ResetVdValue();
  $goto = "diy.php?action=postdiyid={$diy-diyid}";
  ShowMsg('验证*****不正确! ',$goto,0,1000);
  exit;
  }
  }
  这样就实现了验证*****的功能。
  三、自定义表单添加提交时间自动记录功能
  织梦自定义表单默认不记录提交时间,那么我们需要手动添加这个功能,步骤如下:
  1、自定义表单增加一个字段:留言时间(单行文本)
  注意:留言时间这里不要选择时间类型,选择默认的文本形式就可以。
  2、form中增加以下代*****:
  //
  var a=new Date().toLocaleString();
  document.write("");
  // ]]
  自此,客户每提交一个表单,后台都能记录到它的提交时间。
  四、后台自定义表单管理清单增加"全选/全不选"的功能
  织梦自定义表单后台清单管理没有批量选择的功能,给我们管理带来很大不便,所以需要加上全选/全不选的功能:
  从dede\templets找到diy_list.htm并打开:
  1、在57行处colspan="3"改为colspan="5"
  2、58行处添加以下代*****:
  五、在后加上js代*****:
  //
  function selectAll(){
  var a = document.getElementyTagName("input");
  for(var i = 0;iif(a.type == "checkbox") a.checked = true;
  }
  }
  function selectAll1(){
  var a = document.getElementyTagName("input");
  for(var i = 0;iif(a.type == "checkbox") a.checked = false;
  }
  }
  // ]]
  自此,织梦CMS的自定义表单系统优化基本上全部完成,我们拥有了一个功能齐全,操作方便的自定义表单系统了。本文由(www.feiyunjz.com)站长供稿!
分享:

愚愚学园属于纯学术、非经营性专业网站,无任何商业性质,大家出于学习和科研目的进行交流讨论。

如有涉侵犯著作权人的版权等信息,请及时来信告知,我们将立刻从网站上删除,并向所有持版权者致最深歉意,谢谢。