前面通过制作“在线报名”讲解了制作织梦dedecms自定义表单以及调用表单的方法,一般制作反馈表单都会设置有必填项,比如姓名、电话等,但是默认的dedecms自定义表单却没有必填项的设置,如果要设置织梦自定义表单的必填项,需要进行额外的修改!
方法一:通过修改程序源文件实现
1、在plus文件夹下找到diy.php文件,对其进行编辑,在第40行左右找到代码:
1 |
$dede_fields = empty($dede_fields) ? '' : trim($dede_fields); |
2、在这行代码下面,添加以下代码后保存文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//增加必填字段判断 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 |
3、在创建的自定义表单中找到代码:
1 |
<form action="/plus/diy.php" enctype="multipart/form-data" method="post"> |
4、在这行代码下面,添加代码:
1 |
<input type="hidden" name="required" value="数据字段名,数据字段名" /> |
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。
添加新字段–“表单提示文字”:姓名–“字段名称”:name
添加新字段–“表单提示文字”:邮箱–“字段名称”:email
如:
1 |
<input type="hidden" name="required" value="name,email" /> |
5、保存后,必填项设置完成,当用户提交表单时间,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。
方法二:通过javascript脚本代码实现检测
1、把以下代码保存为bitian.js文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$(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; } }) }); |
提醒:
1 2 |
$('#complain').submit(function () //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain" if($('#name').val()==""){$('#name').focus(); //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同 |
2、在表单模板文件中添加调用代码:
1 |
<script src='文件路径/js.js' type="text/javascript"></script> |
3、保存后,重新生成网页!
原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/tech/wp/247990.html