DeDeCMS自定义表单实现字段默认为必填项 不指定

郝聪 , 2018/01/08 18:35 , 建站优化 , 评论(0) , 阅读(10865) , Via 本站原创 | |


更多



默认的dedecms自定义表单却没有必填项的设置,如果要设置织梦自定义表单的必填项,需要进行额外的修改!

步骤一:通过修改程序源文件实现数据入库前的必填验证

1、编辑 /plus/diy.php文件,在第40行左右找到代码:

XML/HTML代码
        
  1. $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);  

2、在这行代码下面,添加以下代码后保存文件:

XML/HTML代码
        
  1. //增加必填字段判断  
  2.     
  3. if($required!=''){  
  4.     
  5.     if(preg_match('/,/', $required)){  
  6.     
  7.         $requireds = explode(',',$required);  
  8.     
  9.         foreach($requireds as $field){  
  10.     
  11.             if($$field==''){  
  12.     
  13.                 showMsg('带*号的为必填内容,请正确填写', '-1');  
  14.     
  15.                 exit();  
  16.     
  17.             }  
  18.     
  19.         }  
  20.     
  21.     }else{  
  22.     
  23.         if($required==''){  
  24.     
  25.             showMsg('带*号的为必填内容,请正确填写', '-1');  
  26.     
  27.             exit();  
  28.     
  29.         }  
  30.     
  31.     }  
  32.     
  33. }  
  34.     
  35. //end  

3、在创建的自定义表单中找到代码:

XML/HTML代码
        
  1. <form action="/plus/diy.php" enctype="multipart/form-data" method="post">  

在上述代码下面,添加代码:

XML/HTML代码
        
  1. <input type="hidden" name="required" value="数据字段名,数据字段名" />  

注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。示例:

XML/HTML代码
        
  1. <input type="hidden" name="required" value="name,email" />  

5、保存后,必填项设置完成,当用户提交表单时间,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。

步骤二:通过javascript脚本代码实现页面数据必填检测

1、把以下代码保存为bitian.js文件:

XML/HTML代码
        
  1. $(document).ready(function() { //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"
  2.     
  3.     //验证  
  4.     
  5.     $('#complain').submit(function () { //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
  6.     
  7.         if($('#name').val()==""){  
  8.     
  9.             $('#name').focus();  
  10.     
  11.             alert("用户名不能为空!");  
  12.     
  13.             return false;  
  14.     
  15.         }  
  16.     
  17.         if($('#tel').val()=="") {  
  18.     
  19.             $('#tel').focus();  
  20.     
  21.             alert("联系电话不能为空!");  
  22.     
  23.             return false;  
  24.     
  25.         }  
  26.     
  27.         if($('#title').val()=="") {  
  28.     
  29.             $('#title').focus();  
  30.     
  31.             alert("标题不能为空!");  
  32.     
  33.             return false;  
  34.     
  35.         }  
  36.     
  37.         if($('#text').val()=="") {  
  38.     
  39.             $('#text').focus();  
  40.     
  41.             alert("具体内容不能为空!");  
  42.     
  43.             return false;  
  44.     
  45.         }  
  46.     
  47.     })  
  48.     
  49. });  

2、在表单模板文件中,调用中添加上面的JS文件:

XML/HTML代码
        
  1. <script src='文件路径/js.js' type="text/javascript"></script>  
相关日志
DeDeCMS自定义表单提交数据时加入验证码功能
DeDeCMS调用自定义表单内容以及实现分页功能(Datalist运用实例)
DeDeCMS的channel标签支持limit(属性)功能
DeDeCMS获取上级栏目ID及顶级栏目ID
让DeDeCMS的channel标签支持调用栏目描述description及关键词keywords
DeDeCMS调用栏目排序编号(自动递增数字)
DeDeCMS安全设置:更改data目录命名
DedeCMS修改数据库表前缀"_dede"的方法
DeDeCMS调用友情链接的标签

最后编辑: 郝聪 编辑于2018/01/09 09:23
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]