最近用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=http://www.umxmt.com/a/zhimengjiaocheng/dedefault/"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> |