当前位置:首页 > CMS教程 > DeDecms > 列表

织梦dedecms自定义表单设置必填项的教程

发布:smiling 来源: PHP粉丝网  添加日期:2015-11-11 10:24:51 浏览: 评论:0 

自定义表单在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($requireds as $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、在创建的自定义表单中找到代码:

<form action="/plus/diy.php" enctype="multipart/form-data" method="post">

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

<input type="hidden" name="required" value="数据字段名,数据字段名" />

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

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

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

如:<input type="hidden" name="required" value="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. return false; 
  8. if($('#tel').val()=="") { 
  9. $('#tel').focus(); 
  10. alert("联系电话不能为空!"); 
  11. return false; 
  12. if($('#title').val()=="") { 
  13. $('#title').focus(); 
  14. alert("标题不能为空!"); 
  15. return false; 
  16. if($('#text').val()=="") { 
  17. $('#text').focus(); 
  18. alert("具体内容不能为空!"); 
  19. return false; 
  20. //phpfensi.com 
  21. }) 
  22. }); 

提醒:

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

if($('#name').val()==""){$('#name').focus(); //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同.

2、在表单模板文件中添加调用代码:

<script src='文件路径/js.js' type="text/javascript"></script>

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

注意:直接复制代码时,标点引号需保证是英文状态下的.

Tags: dedecms表单 dedecms必填项

分享到: