DEDECMS自定义表单提示提示报错
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建站有所帮助。
我们在添加文档时候,会碰到这样的提示:"把数据保存到数据库附加表
`dede_addonarticle`
时出错,请把相关信息提交给dedecms官方。duplicate
entry
’3′
for
key
‘primary’"
你的主键是不可重复的,现在重复插入值为3的主键了。可以去掉主键唯一,或是设成自增加。就不会出现这种情况了。
解决办法:
1:进入后台,“系统”
-
“系统设置”
-
“sql命令行工具”
2:运行sql命令行:
alter
table
dede_addonarticle
drop
primary
key
运行上面的代码就没有提示了,完美解决了!
这一行<div class="apply_form" style="display:none;" id="info_apply"> 你是隐藏了这个表单吗?是不是你页面还有另外一个表单?我猜你提交的是那个表单,因此提示非法操作。
1 dedecms的自定义字段的字段名称不允许有特殊符号吧,你看看你是不是有特殊符号。
2 我遇到过后台添加自定义字段,有时候数据库的字段中不会出现,看看数据库,貌似你的报错不是没有字段,字段不合法吧。
参数不对是因为你这个模型缺少参数, 仔细看一下 哪些隐藏的表单 type="hidden" 如果你缺少这里里面的动态参数就无法提交过去。 因为可以参考default里面的模板代码。 还有自定义模型的代码不需要自己写 有固定的调用方法的。 如果你觉得自己写比较好的话可以考虑default生成的原始代码看一下。这样你可以相互参考 就知道缺少什么参数了。
0条评论