自定义表单在dedecms中通常用来做一睦简单的数据提交或收集功能了,下面我们来看一个dedecms自定义表单时设置必填写项的例子.
方法一:通过修改程序源文件实现
1、在plus文件夹下找到diy.php文件,对其进行编辑,在第40行左右找到代码:
$dede_fields = empty($dede_fields) ? '':trim($dede_fields);
2、在这行代码下面,添加以下代码后保存文件:
- //增加必填字段判断
- if($required!=''){
- if(preg_match('/,/', $required)){
- $requireds = explode(',',$required);
- foreach($requireds as $field){
- if($$field==''){
- showMsg('带*号的为必填内容,请正确填写', '-1');
- exit(); //Vevb.com
- }
- }
- }else{
- if($required==''){
- showMsg('带*号的为必填内容,请正确填写', '-1');
- exit();
- }
- }
- }
- //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文件:
- $(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;
- } //Vevb.com
- })
- });
提醒:
$('#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、保存后,重新生成网页!
注意:直接复制代码时,标点引号需保证是英文状态下的.
新闻热点
疑难解答