更多



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 打开表情 隐藏 记住我 [登入] [注册]

 
  • 人身险产品遭遇“负面清单” 保险行业迎供给侧改革 2018-12-13
  • 兴业银行向绿色金融改革创新试验区投放绿色融资2500亿 2018-12-07
  • 国务院安委办约谈三市政府负责人 2018-12-04
  • 工业生产数据揭示三行业投资价值 30只个股获逾10亿元资金布局 2018-12-04
  • 明确网络游戏分级制 落实游戏注册实名制 2018-11-30
  • 为太原人才新政点赞! 2018-11-23
  • 对毒跑道不能一铲了之 2018-11-23
  • 延不延迟退休应取决于这个岗位是否后继有人,如果后继者正排着队等待入职,就不能延迟,如果某岗位后继乏人,才需延迟。尤其“用税者岗位”是有限的社会资源,新生 2018-11-15
  • 北京三所“双一流”高校零门槛转专业 2018-10-28
  • 相当于90多个足球场 这个超级垃圾场将变身国家级生态公园 2018-10-24
  • 世界杯开赛午夜人声鼎沸 小龙虾来抢戏 2018-10-24
  • 【理上网来喜迎十九大】外媒记者:全面依法治国为中国经济增长保驾护航 2018-10-22
  • 女性之声——全国妇联 2018-10-14
  • 高清:C罗帽子戏法科斯塔梅开二度 葡萄牙3 2018-10-10
  • 中国共产党第十九次代表大会 2018-10-10
  • 471| 167| 644| 218| 625| 221| 211| 646| 385| 773|