在织梦CMS(DedeCMS)中,自定义表单功能是一个非常实用的工具,它允许网站管理员轻松创建各种表单,以收集用户信息或处理订单等,默认情况下,这些表单并不具备必填项的验证功能,这可能会导致后台收到大量不完整的数据,为了解决这个问题,可以通过修改程序源文件和添加JavaScript代码的方式来实现必填项的设置,以下是具体步骤和方法:
方法一:通过修改程序源文件实现
1、打开diy.php文件:使用编辑器打开网站根目录下的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(); } } }
4、保存并修改表单页面:在表单页面中找到这行代码:
<form action="/plus/diy.php" enctype="multipart/formdata" method="post">
在这行代码之下,加入代码:
<input type="hidden" name="required" value="数据字段名,数据字段名" />
注意,这行代码需要根据你实际需要设置的必填项进行修改,如果需要将“姓名”和“邮箱”设置为必填项,则应修改为:
<input type="hidden" name="required" value="name,email" />
5、添加表单提示文字:在表单中添加新的字段,并为每个必填项设置提示文字。
<label for="name">姓名</label> <input type="text" id="name" name="name" required> <label for="email">邮箱</label> <input type="email" id="email" name="email" required>
方法二:通过JavaScript实现前端验证
1、添加JavaScript文件引用:在要发布表单的模板上添加以下代码:
<script src='你的路径/js.js' type="text/javascript"></script>
2、创建js.js文件:在你自定义的路径下新建一个名为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
是自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain",同样,#name
、#tel
等是对应表单字段的ID。
3、设置好后更新:完成上述设置后,更新网站,就可以看到效果了,当用户提交表单时,如果必填项没有填写,将会弹出相应的提示信息。
FAQs常见问题解答
问题1:如何在织梦dedecms中设置多个必填项?
答:在织梦dedecms中设置多个必填项,可以在表单页面中添加多行<input type="hidden" name="required" value="数据字段名"/>
代码,并用逗号分隔每个字段名。
<input type="hidden" name="required" value="name,email,phone" />
这样就把“姓名”、“邮箱”和“电话”三个选项都设置为必填项了。
问题2:如何更改必填项未填写时的提示信息?
答:要更改必填项未填写时的提示信息,可以编辑添加到diy.php文件中的showMsg函数里的提示文字,将原来的:
showMsg('带*号的为必填内容,请正确填写', '1');
改为:
showMsg('请填写所有标有*的必填项', '1');
这样就可以自定义提示信息了。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1227465.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复