最近用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>