织梦dedecms自定义表单,“必填项”设置方法
2024-07-12 08:30:32
供稿:网友
织梦dedecms是织梦一款开源建站程序,因为他的灵活和易用性受到很多新手站长和企业的欢迎,大多数企业站都是采用dedecms搭建,今天我们说一下织梦dede中的自定义表单功能,织梦的自定义表单功能可以让你轻松的创建自己的表单功能,收集用户的留言、订单等信息。 但是dedecms的自定义表单有一个缺点,没有验证功能,允许提交空表单,这样致使后台会显示很多空数据,不能收集到完整的用户信息。今天我们就要给织梦dedecms的自定义表单添加一个必填内容验证功能: 添加必填验证功能 先说下,已经试过确定有效: 1.编辑器打开/plus/diy.php 2.在40行左右找到此行代码: $dede_fields = empty($dede_fields) ? '' : trim($dede_fields); 3.在这一行代码之下,加入代码:(复制的话删掉代码中的空行) //增加必填字段判断 if($required!=''){ if(preg_match('/,/', $required)) { $requireds = explode(',',$required); foreach($requireds as $field){ if($$field==''){ showMsg('带*号的为必填内容,请正确填写', '-1'); exit(); } } }else{ if($required==''){ showMsg('带*号的为必填内容,请正确填写', '-1'); exit(); } } } //end 4.保存完成后,在表单页面找到这行代码 <form action="/plus/diy.php" enctype="multipart/form-data" method="post"> 在这行代码之下,加入代码: <input type="hidden" name="required" value="数据字段名,数据字段名" /> 注意这行代码要修改下,根据你的表单所需要设置的必填项, 例如设置“姓名”、“邮箱”为必填项。 添加新字段--“表单提示文字”:姓名--“字段名称”:name 添加新字段--“表单提示文字”:邮箱--“字段名称”:email 此行代码应为: <input type="hidden" name="required" value="name,email" /> 这样就把这两个选项设置为必填项了。 如果没有填写就提交,会打开窗口提示“带*号的为必填内容,请正确填写”, 当然,这一句话可以改成其它的文字。 ———————————————————— 网上看到另一种方法,未测试,仅作为资料收藏: 【js方法:】 1.先在要发布表单的模板上加<script src='你的路径/js.js' type="text/javascript"></script>; 2.在你自定义的路径新建文件js.js,然后复制以下内容粘贴保存; 代码: <!-- $(document).ready(function() { //验证 $('#complain').submit(function () { if($('#name').val()==""){ $('#name').focus(); alert("用户名不能为空!"); return false; } if($('#tel').val()=="") { $('#tel').focus(); alert("联系电话不能为空!"); return false; } if($('#title').val()=="") { $('#title').focus(); alert("标题不能为空!"); return false; } if($('#text').val()=="") { $('#text').focus(); alert("具体内容不能为空!"); return false; } }) }); --> 注: $('#complain').submit(function () //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain" if($('#name').val()==""){ $('#name').focus(); //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同 3.设置好后更新就可以看到效果了。