织梦dedecms自定义表单中设置必填项的方法(2) –


avatar
pcwnas 2023-04-21 191

原文来自:https://www.zixuephp.com

织梦dedecms自定义表单中设置必填项的方法(2)

前面通过制作“在线报名”讲解了制作织梦dedecms自定义表单以及调用表单的方法,一般制作反馈表单都会设置有必填项,比如姓名、电话等,但是默认的dedecms自定义表单却没有必填项的设置,如果要设置织梦自定义表单的必填项,需要进行额外的修改!

方法一:通过修改程序源文件实现

1、在plus文件夹下找到diy.php文件,对其进行编辑,在第40行左右找到代码:

$dede_fields = empty($dede_fields) ? '':trim($dede_fields);

2、在这行代码下面,添加以下代码后保存文件:

  1. //增加必填字段判断
  2.   if($required!=''){
  3.   if(preg_match('/,/',$required)){
  4.   $requireds=explode(',',$required);
  5.   foreach($requiredsas$field){
  6.   if($$field==''){
  7.   showMsg('带*号的为必填内容,请正确填写','-1');
  8.   exit();//phpfensi.com
  9.   }
  10.   }
  11.   }else{
  12.   if($required==''){
  13.   showMsg('带*号的为必填内容,请正确填写','-1');
  14.   exit();
  15.   }
  16.   }
  17.   }
  18.   //end

3、在创建的自定义表单中找到代码:

4、在这行代码下面,添加代码:

注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项。

添加新字段–“表单提示文字”:姓名–“字段名称”:name

添加新字段–“表单提示文字”:邮箱–“字段名称”:email

5、保存后,必填项设置完成,当用户提交表单时间,系统检查到必填项没有输入内容,就会提示“带*号的为必填内容,请正确填写”。

方法二:通过javascript脚本代码实现检测

1、把以下代码保存为bitian.js文件:

  1. $(document).ready(function(){
  2.   //验证
  3.   $('#complain').submit(function(){
  4.   if($('#name').val()==""){
  5.   $('#name').focus();
  6.   alert("用户名不能为空!");
  7.   returnfalse;
  8.   }
  9.   if($('#tel').val()==""){
  10.   $('#tel').focus();
  11.   alert("联系电话不能为空!");
  12.   returnfalse;
  13.   }
  14.   if($('#title').val()==""){
  15.   $('#title').focus();
  16.   alert("标题不能为空!");
  17.   returnfalse;
  18.   }
  19.   if($('#text').val()==""){
  20.   $('#text').focus();
  21.   alert("具体内容不能为空!");
  22.   returnfalse;
  23.   }
  24.   })
  25.   });

提醒:

$('#complain').submit(function ()  //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"

if($('#name').val()==""){$('#name').focus();        //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同2、在表单模板文件中添加调用代码:

3、保存后,重新生成网页!