DedeCMS新建模型checkbox多选框的问题及解决方法

  编程之家 jb51.cc Dedecms 新建模型checkBox多选框的问题,大家都碰上过吧,您解决了吗?我解决了,现在把解决/修改方法分享出来,希望可以帮助各位草根站长,感谢网提供这么好的站长交流平台,让我把教程发给大家,废话少说,入正文:

include/customfields.func.PHP 文件修改

搜索 $myformItem .= "<input type='checkBox' name='{$fieldname}[]' class='np' value='$v'>$v";

修改成 $myformItem .= ($i==0 ? "<input type='checkBox' name='$fieldname' class='np' value='$v' checked='checked'>$v" : "<input type='checkBox' name='$fieldname' class='np' value='$v'>$v");
$i++;

搜索 $myformItem.= ($fvalue==$v ? "<input type='radio' name='$fieldname' class='np' value='$v' checked='checked' />$v" : "<input type='radio' name='$fieldname' class='np' value='$v' />$v");
}
}
$innertext = $myformItem;
}

下面加上

//checkBox

else if($ftype=='checkBox')
{
if(is_array($items))
{
foreach($items as $v)
{
$v = trim($v);
if($v=='') continue;
$myformItem.= ($fvalue==$v ? "<input type='checkBox' name='$fieldname' class='np' value='$v' checked='checked' />$v" : "<input type='checkBox' name='$fieldname' class='np' value='$v' />$v");
}
}
$innertext = $myformItem;
}

//////////////////////////////////////////////////////////////////////////////////////

打开 dede/inc/inc_archives_all.PHP 文件

搜索 else
{
$myformItem .= "<input type='radio' name='$fieldname' class='np' value='$v'>$v";
}
}
}
$formitem = str_replace("~name~",$ctag->GetAtt('itemname'),$formitem);
$formitem = str_replace("~form~",$myformItem,$formitem);
return $formitem;
}

在下面加上

else if($ctag->GetAtt("type")=='checkBox') //checkBox 类型
{
$myformItem = '';
$items = explode(',',$innertext);
foreach($items as $v)
{
$v = trim($v);
$i = 0;
if($v!='')
{
if($i==0)
{
$myformItem .= "<input type='checkBox' name='$fieldname' class='np' value='$v' checked='checked'>$v";
}
else
{
$myformItem .= "<input type='checkBox' name='$fieldname' class='np' value='$v'>$v";
}
}
}
$formitem = str_replace("~name~",$formitem);
return $formitem;
}

搜索 else if($dtype=="float")
{
$dvalue = trim(ereg_replace("[^0-9.]","",$dvalue));
if($dvalue=="")
{
$dvalue = 0;
}
return $dvalue;
}

在下面加上

// checkBox 类型
else if($dtype=="checkBox")
{
if($dvalue=="")
{
$dvalue = "<input type='checkBox' name='$fieldname' class='np' value='$v' checked='checked'>$v";
}
return $dvalue;
}

搜索 else if($ctag->GetAtt("type")=='radio')
{
$myformItem = '';
$items = explode(',$innertext);
foreach($items as $v)
{
$v = trim($v);
if($v!='')
{
if($fvalue==$v)
{
$myformItem.= "<input type='radio' name='$fieldname' class='np' value='$v' checked>$v";
}
else
{
$myformItem.= "<input type='radio' name='$fieldname' class='np' value='$v'>$v";
}
}
}
$formitem = str_replace("~name~",$formitem);
return $formitem;
}

在下面加上

else if($ctag->GetAtt("type")=='checkBox') //checkBox 类型
{
$myformItem = '';
$items = explode(',$formitem);
return $formitem;
}

搜索 else if($ctag->GetAtt("type")=="multitext")
{
$innertext = "<textarea name='$fieldname' id='$fieldname' style='width:100%;height:80'>$fvalue</textarea>";
$formitem = str_replace("~name~",$innertext,$formitem);
return $formitem;
}


在下面加上

// checkBox 类型
else if($formitem=="checkBox")
{
if($formitem=="")
{
$formitem = "<input type='checkBox' name='$fieldname' class='np' value='$v' checked='checked'>$v";
}
return $formitem;

}

////////////////////////////////////////////////////

我这程序改的文件太多,有点乱,所以你修改的时候一定要看清楚,再修改,反正我这里可以用,你要是不行,你仔细检查,别忘了做好备份!

相关文章

用信息发布员写文章出现如下错误。
A.首先要说明,目前排行调用实现的是:一周(一月,一年)内新增的信息,按点击排行的调用. 目前的排行...
DedeCms基本的类文件说明 (这里只说明 include 或其它目录一些重要的inc 文件,至于模块或功能性的文件...
一些使用Dedecms建站的同学开通了问答模块,但是由于会员注册控制的不好,导致了垃圾问题信息太多了,最...
本站使用一直使用的是dede5.5在这里也非常感谢织梦科技,因为确实不错!!加上自己增加的一些改进吧,觉得还...
关于服务器安装过滤器导致DedeCMS sys_info.php 文件错误解决方法如下: 解决方法如下: 大部分过滤系统...