更多



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

郝聪 , 2018/01/08 18:35 , 建站优化 , 评论(0) , 阅读(2603) , 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>  


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

昵称

网址

电邮

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

 
  • 【北京福瑞林肯中心车型报价】北京福瑞林肯中心4S店车型价格 2019-04-15
  • 江面现2000多吨庞然大物 浮运约120公里刷新纪录 2019-04-07
  • 娱乐时尚--山西频道--人民网 2019-04-07
  • 本田哥瑞优惠0.5万元 欢迎莅临赏鉴 2019-03-30
  • 总书记考察烟台中集来福士都关心了啥? 2019-03-28
  • 严格执行住房逢建必报 2019-03-28
  • “改革开放40年山东教育成就展”启动 2019-03-23
  • 老外赛龙舟  南半球最大规模龙舟赛开赛 2019-03-20
  • 端午假期来了!收藏这份指南,避开人山人海 2019-03-20
  • 本来是一家,至少人家没当对手,可非要和人家站对立面,结果是全方位大的打压 2019-03-18
  • 注重选人用人,强化能力与实践锻炼相结合 2019-03-18
  • 新东方国际游学教育高峰论坛:游学行业的过去与未来 2019-03-04
  • 提高合作水平 促进双赢发展 2019-03-04
  • 金融战,贸易战,是看不见硝烟的战争,但代价同样是惨烈的。面对强敌,奉陪到底,打好这场事关国运之战。 2019-02-06
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-02-06
  • 989| 792| 333| 293| 237| 874| 187| 401| 527| 490|