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

来源:本站原创 浏览:2138次 时间:2014-11-09
做网站找雨过天晴工作室

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

dedecms是织梦一款开源建站程序,因为他的灵活和易用性受到很多新手站长和企业的欢迎,大多数企业站都是采用dedecms搭建,今天我们说一下dede中的自定义表单功能,织梦的自定义表单功能可以让你轻松的创建自己的表单功能,收集用户的留言、订单等信息。
但是dedecms的自定义表单有一个缺点,没有验证功能,允许提交空表单,这样致使后台会显示很多空数据,不能收集到完整的用户信息。今天我们就要给dedecms的自定义表单添加一个必填内容验证功能:
添加必填验证功能

先说下,已经试过确定有效:

1.编辑器打开\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();

}

}

}

//end

4.保存完成后,在表单页面找到这行代码

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

在这行代码之下,加入代码:

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

注意这行代码要修改下,根据你的表单所需要设置的必填项,

例如设置“姓名”、“邮箱”为必填项。

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

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

此行代码应为:

<input type="hidden" name="required" value="name,email" />


这样就把这两个选项设置为必填项了。

如果没有填写就提交,会打开窗口提示“带*号的为必填内容,请正确填写”,

当然,这一句话可以改成其它的文字。

————————————————————

网上看到另一种方法,未测试,仅作为资料收藏:

【js方法:】

1.先在要发布表单的模板上加<script src='你的路径/js.js' type="text/javascript"></script>;

2.在你自定义的路径新建文件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').submit(function ()  //complain为自定义表单的ID,如果生成的表单没有可以自行加上,即 id="complain"

if($('#name').val()==""){

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

3.设置好后更新就可以看到效果了。