找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1234|回复: 0

[分享] 织梦(dedecms)自定义表单,“必填项”设置方法

[复制链接]
发表于 2018-7-14 15:03:30 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
[dede教程]织梦(dedecms)自定义表单,“必填项”设置方法
dedecms是织梦一款开源建站程序,因为他的灵活和易用性受到很多新手站长和企业的欢迎,大多数企业站都是采用dedecms搭建,今天我们说一下dede中的自定义表单功能,织梦的自定义表单功能可以让你轻松的创建自己的表单功能,收集用户的留言、订单等信息。
但是dedecms的自定义表单有一个缺点,没有验证功能,允许提交空表单,这样致使后台会显示很多空数据,不能收集到完整的用户信息。今天我们就要给dedecms的自定义表单添加一个必填内容验证功能:
添加必填验证功能

先说下,已经试过确定有效:
1.编辑器打开\plus\diy.php
2.在40行左右找到此行代码:
  1. $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
复制代码

3.在这一行代码之下,加入代码:(复制的话删掉代码中的空行)
  1. //增加必填字段判断
  2. if($required!=''){
  3. if(preg_match('/,/', $required))
  4. {
  5. $requireds = explode(',',$required);
  6. foreach($requireds as $field){
  7. if($field==''){
  8. showMsg('带*号的为必填内容,请正确填写', '-1');
  9. exit();
  10. }
  11. }
  12. }else{
  13. if($required==''){
  14. showMsg('带*号的为必填内容,请正确填写', '-1');
  15. exit();
  16. }
  17. }
  18. }
  19. //end
复制代码

4.保存完成后,在表单页面找到这行代码
<form action="/plus/diy.php" enctype="multipart/form-data" method="post">
在这行代码之下,加入代码:
<input type="hidden" name="required" value="数据字段名,数据字段名" />
注意这行代码要修改下,根据你的表单所需要设置的必填项,
例如设置“姓名”、“邮箱”为必填项。
添加新字段--“表单提示文字”:姓名--“字段名称”:name
添加新字段--“表单提示文字”:邮箱--“字段名称”:email
此行代码应为:
  1. <input type="hidden" name="required" value="name,email" />
复制代码


这样就把这两个选项设置为必填项了。
如果没有填写就提交,会打开窗口提示“带*号的为必填内容,请正确填写”,
当然,这一句话可以改成其它的文字。
————————————————————
网上看到另一种方法,未测试,仅作为资料收藏:
【js方法:】
1.先在要发布表单的模板上加<script src='你的路径/js.js' type="text/javascript"></script>;
2.在你自定义的路径新建文件js.js,然后复制以下内容粘贴保存;
代码:
  1. <!--
  2.   $(document).ready(function()
  3.    {
  4.     //验证
  5.     $('#complain').submit(function ()
  6.     {
  7.         if($('#name').val()==""){
  8.             $('#name').focus();
  9.             alert("用户名不能为空!");
  10.             return false;
  11.         }
  12.         if($('#tel').val()=="")
  13.         {
  14.             $('#tel').focus();
  15.             alert("联系电话不能为空!");
  16.             return false;
  17.         }
  18.         if($('#title').val()=="")
  19.         {
  20.             $('#title').focus();
  21.             alert("标题不能为空!");
  22.             return false;
  23.         }
  24.         if($('#text').val()=="")
  25.         {
  26.             $('#text').focus();
  27.             alert("具体内容不能为空!");
  28.             return false;
  29.         }
  30.     })

  31. });
  32. -->
复制代码

注:
$('#complain').submit(function ()  //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"
if($('#name').val()==""){
$('#name').focus();        //#name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
3.设置好后更新就可以看到效果了。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 17:07 , Processed in 0.048448 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表