最近用dedecms完成一个自定义表单,要用到地区的三级级联,地区肯定要使用option下拉框,如果让人一个个填肯定不行,dedecms内置的联动类型被注释掉了,网上有解决联动类型的例子,但存在后台信息的是枚举,都是数字,不方便查看,网上的解决方案都不怎么完全,尝试了一下没有成功,自己便采取了比较取巧的方案,用js代替联动类型
自定义表单的字段的类型都使用单行文本,设置完之后前台查看,并浏览器查看它的源文件。
例如:
代码如下:
<form action=/plus/diy.php enctype=multipart/form-data method=post>
<input type=hidden name=action value=post />
<input type=hidden name=diyid value=1 />
<input type=hidden name=do value=2 />
<table style=width:97%; cellpadding=0 cellspacing=1>
<tr>
<td align=right valign=top>省份:</td>
<td><input type='text' name='province' id='province' style='width:250px' class='intxt' value='' />
</td>
</tr>
<tr>
<td align=right valign=top>地级市:</td>
<td><input type='text' name='city' id='city' style='width:250px' class='intxt' value='' />
</td>
</tr>
<tr>
<td align=right valign=top>市、县级市:</td>
<td><input type='text' name='country' id='country' style='width:250px' class='intxt' value='' />
</td>
</tr>
<input type=hidden name=dede_fields value=province,text;city,text;country,text />
<input type=hidden name=dede_fieldshash value=652e45ca2c11e03bbe75d9f5ab1726ba /></table>
<div align='center' style='height:30px;padding-top:10px;'>
<input type=submit name=submit value=提 交 class='coolbg' />
<input type=reset name=reset value=重 置 class='coolbg' />
</div>
</form>
修改它的form表单,改成自己所需要的样式,并将province,city,country都改成select的类型,三级级联使用js完成
如:
代码如下:
<form action=/plus/diy.php enctype=multipart/form-data method=post>
<input type=hidden name=action value=post />
<input type=hidden name=diyid value=1 />
<input type=hidden name=do value=2 />
<select id=s_province name=province><option value=省份>省份</option></select>
<select id=s_city name=city style=margin-left:20px;><option value=地级市>地级市</option></select>
<select id=s_county name=country style=margin-left:20px;><option value=市、县级市>市、县级市</option></select>
<script type=text/javascript src=js/area.js></script>
<script type=text/javascript>_init_area();</script>
<input type=hidden name=dede_fields value=province,text;city,text;country,text />
<input type=hidden name=dede_fieldshash value=652e45ca2c11e03bbe75d9f5ab1726ba /></table>
<div align='center' style='height:30px;padding-top:10px;'>
<input type=submit name=submit value=提 交 class='coolbg' />
<input type=reset name=reset value=重 置 class='coolbg' />
</div>
</form>