更多



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

郝聪 , 2018/01/08 18:35 , 建站优化 , 评论(0) , 阅读(1044) , 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 打开表情 隐藏 记住我 [登入] [注册]

 
  • 金融战,贸易战,是看不见硝烟的战争,但代价同样是惨烈的。面对强敌,奉陪到底,打好这场事关国运之战。 2019-02-06
  • 请问,建立市场经济后,原计划经济哪里去?改革后,我们还在实行计划经济,为何没有提及? 2019-02-06
  • 承载历史使命的 “乡村振兴”,城乡共同参与 2019-02-03
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-02-03
  • 太炫了!上汽大众全新帕萨特尺寸增大 2019-02-01
  • 特朗谱跟你一样,也经常懵逼:“这么简单的道理也想不通?”;"西方民主这么好,你咋不学捏?? 2019-01-31
  • 《春天读诗·5》预告片:理智与情感的旅程 2019-01-31
  • 大同市纪委监委通报5起违反中央八项规定精神问题典型案例 2019-01-28
  • 山东今年以来运用"四种形态"处理2.6万人次 2019-01-19
  • 董冬冬陈曦再推重磅OST 网罗乐坛唱将《扶摇》直上 2019-01-19
  • 探访南方古丝路 跟着郑和下南洋 春城壹网 七彩云南 一网天下 2019-01-16
  • 嘴长你身上,你爱怎么说怎么说。 2019-01-16
  • 拉萨市城关区旅游市场表现活跃 2019-01-14
  • 谢森的专栏作者中国国家地理网 2019-01-14
  • 南宁市启用新能源汽车专用号牌 2019-01-12
  • 556| 629| 333| 206| 88| 541| 623| 567| 470| 946|