织梦dedecms怎样让在自定义表单显示时间

织梦dedecms怎样让在自定义表单显示时间,第1张

1编辑器打开plusdiyphp

2在40行左右找到此行代码:

$dede_fields=empty($dede_fields)'':trim($dede_fields);

3在这一行代码之下,加入代码,复制的话删掉代码中的空行

//增加必填字段判断

if($required!=''){

if(preg_match('/,/',$required))

{

$requireds=explode(',',$required);

foreach($requiredsas$field){

if($$field==''){

showMsg('带号的为必填内容,请正确填写','-1');

exit();

}

}

}else{

if($required==''){

showMsg('带号的为必填内容,请正确填写','-1');

exit();

}

}

}

//end

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

<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">

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

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

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

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

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

此行代码应为:

<inputtype="hidden"name="required"value="name,email"/>

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

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

js方法:

1先在要发布表单的模板上加

<scriptsrc='你的路径/jsjs'type="text/javascript"></script>

2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:

<!--

$(document)ready(function()

{

//验证

$('complain')submit(function()

{

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

$('name')focus();

alert("用户名不能为空!");

returnfalse;

}

if($('tel')val()=="")

{

$('tel')focus();

alert("联系电话不能为空!");

returnfalse;

}

if($('title')val()=="")

{

$('title')focus();

alert("标题不能为空!");

returnfalse;

}

if($('text')val()=="")

{

$('text')focus();

alert("具体内容不能为空!");

returnfalse;

}

})

});

-->

注:

$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"

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

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

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

希望本文所述对大家的dedecms建站有所帮助。

模板前端后端都正常,但自己的模板提交后显示不正常,原因:

自定义表单,增加字段、减少字段、更改字段,表单验证都会发生变化,在确认更改后,回到模板提交页面,右键原代码,下面两处会发生变化(举例),你自己的模板页面随着要进行更改,否则就会出现此错误。

<input type="hidden" name="dede_fields"

value="xingming,text;dianhua,text;youxiang,text;liuyan,multitext;gongsi,text;nativeplace,text;tzed,select;hfsj,radio;shijian,text" />

<input type="hidden" name="dede_fieldshash" value="dde4685d746ba7b46a435b5292aa882a" />

首先打开织梦自定义表单,然后添加字段,比如联系人(单行文本),****(单行文本),地址(单行文本),留言内容(单行文本),留言时间(单行文本)等字段

注意:留言时间这里不要选择“时间类型”,选择默认的“文本形式”就可以。

自定义表单在模板中修改如下:

  <form action="/plus/diyphp" enctype="multipart/form-data" method="post" name="form" 

onsubmit="return CheckForm();">

         <input type="hidden" name="action" value="post" />

            <input type="hidden" name="diyid" value="1" />

            <input type="hidden" name="do" value="2" />

   <table width="100%" border="0" cellpadding="0" cellspacing="0">

     <tr>

    <td>提交时间</td>

    <td><input name="mytime" value="" type="text"  id="mytime"  /><!-- 如不需要在前台显示的话可以修改type="hidden" -->

      <script type="text/javascript">

 windowonload = function(){

 var nowDate = new Date();

 var str = nowDategetFullYear()+"-"+(nowDategetMonth() + 1)+"-"+nowDategetDate()+" "+nowDategetHours()+":"+nowDategetMinutes()+":"+nowDategetSeconds();

 documentgetElementById("mytime")value=str;

                    }

</script>

   </td>

     </tr>

              <tr><td><input type="hidden" name="dede_fields" value="mytime,textchar" />

<input type="hidden" name="dede_fieldshash" value="849a871768b5942ee259e8f7af736194" />

                <label>

      <input class="btn_tj" type="submit" name="Submit" value=" 提交" />

    </label></td></tr>

    </table>

  </form>

方法有多个:

第一种JS判断表单提交,最简单的方法。不过我用JS验证,判断错误后return fasle 后表单还会提交,所以就失败了。

第二种就是在dedecms的处理页diyphp里面做验证,写正则表达式判断。

/plus/diyphp加验证:

if($fieldinfo[0]=='yuyue_lianxi'){

$tel = ${$fieldinfo[0]};

if(!eregi("^13[0-9]{9}|15[0-9]{9}|14[0-9]{9}|18[0-9]{9}$",$tel)){

showMsg('填写的手机号码不正确','-1');

exit;

}

}

放在遍历表单数据后就行了!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 织梦dedecms怎样让在自定义表单显示时间

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情