如何将CFM页面下拉选中值传递到mainpage.cfm并接收处理
解决方法
1. 确认参数获取路径
你的表单使用POST方式提交,下拉框<cfselect>的name属性设置为mycarchoice.getbrands,提交后参数会自动存入ColdFusion的FORM全局作用域,直接从该作用域取值即可。
2. mainpage.cfm 取值示例
建议先判断参数是否存在,避免直接访问页面时抛出异常,示例代码如下:
<!-- 判断表单是否提交、对应参数是否存在 --> <cfif structKeyExists(FORM, "mycarchoice.getbrands")> <!-- 取出用户选中的汽车品牌值 --> <cfset selectedBrand = FORM["mycarchoice.getbrands"]> <!-- 此处可写入你的业务逻辑,比如用选中的品牌做数据库查询等 --> <p>你选中的汽车品牌是:<cfoutput>#selectedBrand#</cfoutput></p> <cfelse> <p>未接收到有效选择,请从表单页提交你的选项</p> </cfif>
可选优化
如果你觉得带点号的键名写起来繁琐,可以修改原表单页<cfselect>的name属性为不带点的名称,后续取值更简洁:
<!-- 原表单页修改cfselect配置 --> <cfselect name="selected_brand" query="getbrands" value="brand_name" display="brand_name"> </cfselect>
修改后mainpage.cfm的取值代码可简化为:
<cfif structKeyExists(FORM, "selected_brand")> <cfset selectedBrand = FORM.selected_brand> <cfoutput>选中的品牌:#selectedBrand#</cfoutput> </cfif>
内容的提问来源于stack exchange,提问作者Codeallday
相关产品推荐
相关产品推荐

