主页 > 编程资料 > Dedecms >
发布时间:2015-09-27 作者:网络 阅读:244次

本文实例讲述了织梦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="数据字段名,数据字段名" />

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

添加新字段--&ldquo;表单提示文字&rdquo;:姓名--&ldquo;字段名称&rdquo;:name

添加新字段--&ldquo;表单提示文字&rdquo;:邮箱--&ldquo;字段名称&rdquo;:email

此行代码应为:

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

这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示&ldquo;带*号的为必填内容,请正确填写&rdquo;,当然,这一句话可以改成其它的文字.

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

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.设置好后更新就可以看到效果了.


关键字词: