dede内容页表格问题 也没人回答,真是醉了
模板前端后端都正常,但自己的模板提交后显示不正常,原因:
自定义表单,增加字段、减少字段、更改字段,表单验证都会发生变化,在确认更改后,回到模板提交页面,右键原代码,下面两处会发生变化(举例),你自己的模板页面随着要进行更改,否则就会出现此错误。
<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" />
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建站有所帮助。
首先这里要说下,dedecms实现这样的页面效果需要用到div+css和dedecms的自定义字段
这里无法给你详细代码只能给你理论步骤如下
首先设计好你的页面样式,可以用div也可以用表格
做好样式以后,在后台新建字段,例如房间类型、设施简介、早餐等等
然后在你的内容页模板调用这些字段的内容就可以了
dedecms模板在网站地址duosucai 就有各种类型的网站模板可以参考
提示:您在dedecms后台新建上述字段后,发布内容的时候就可以填写了
至于后面的预定功能可以用自定义表单来实现
多素材织梦模板
为您解答
望采纳
- - 说实在的我没明白什么意思!
首先 如果是 你在后台设置好表单的话 很明显你的表字段已经建立好了!那么你只需要在前台页面画好页面然后写程序!如果你不懂php程序,你改不了!!如果你懂php语言的话那么很容易,只需要简单的mysql插入语句即可!将数据从前台储存进数据库!
如果你想用静态的话 那就要用 js 来将参数传入数据插入执行页面进行操作了!但是都要懂程序的!
建议你还是花100块钱去猪八戒威客网发布任务找 人做吧!
首先修改plus/diyphp,在:
if($fieldinfo[1] == 'textdata')
{
${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
}
后面添加:
if($fieldinfo[0] == 'time')
{
${$fieldinfo[0]}=date("Y-m-d H:i:s");
}
在自定义字段里添加字段
提交时间:time
字段名称一定要和diyphp添加的字段名一致,在表单中调取:
<input type="hidden" name="time" id="time" value="">
type='hidden' 为隐藏字段,在前端不显示,用户提交后台会自动获取时间
比如你输入<label>~name~:</label>~form~元,输出后类似这样的效果:
价格:____元
也就是你前台form表单的表现形式
打开plus/diyphp,里面有这样一段代码:
if($dsql->executenonequery($query))
{
$id
= $dsql->GetLastID();
if($diy->public
== 2)
{
//diyphpaction=view&diyid={$diy->diyid}&id=$id
$goto
=
"diyphpaction=list&diyid={$diy->diyid}";
$bkmsg
= '发布成功,现在转向表单列表页';
}
else
{
$goto
= !empty($cfg_cmspath) $cfg_cmspath : '/';
$bkmsg
= '发布成功,请等待管理员处理';
}
showmsg($bkmsg,
$goto);
}
修改这里面的网址就OK了,当然如果要跳转到前一页面,除了需要将$goto后面的值进行修改,还有个文件需要修改下,具体操作是:
1、修改上面提法的:
$goto ='javascript:void(null)"';
2、打开include下commonfuncphp文件,找到
<a
href='http://wwwdedecmsmubancom/{$gourl}'>如果你的浏览器没反应,请点击这里</a>
,将这个修改为:
a href='http://wwwdedecmsmubancom/{$gourl}'
onclick='historygo(-1)'>如果你的浏览器没反应,请点击这里
OK了,以上就是修改织梦DEDECMS自定义表单跳转页面链接的方法。
0条评论