我无法找到一个简单的教程来帮助我完成这项任务。基本上我需要分配单选按钮的值并通过会话将其传递到下一页。这是我的单选按钮输入代码。
<input type="radio" name="statReqYN" id="statReqYN-0" value="Yes" checked="checked"> Yes
<input type="radio" name="statReqYN" id="statReqYN-1" value="No"> No
之后,我将设置按钮的值:
<cfif isdefined("form.newProdYN") and form.newProdYN is "No">
<cfset form.newProdNY = "No">
</cfif>
最后,我将通过提交按钮将其传递到同一会话的下一页:
<cfif not arrayLen(errors)>
<cfset session.checkout.input = {
newProdNY=form.newProdNY}>
<cflocation url="formcomplete.cfm" addToken="false">
</cfif>
但是当我尝试在html中使用#session.checkout.input.newProdYN#获取值时,结果是未定义的。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:5)
您的问题并不十分清楚,因为您的代码中没有显示变量。 通常,对于广播和复选框字段,您的接收表单应设置默认值。我这样做是通过以下方式做的:
<cfparam name="FORM.statReqYN" default="no">
这样你总是可以使用变量。所以在你的情况下,我会把它作为整个模板:
<cfparam name="form.statReqYN" default="No">
<cfparam name="form.newProdYN" default="Yes">
<form action="" method="post">
<input type="radio" name="statReqYN" id="statReqYN-0" value="Yes" checked="checked"> Yes
<input type="radio" name="statReqYN" id="statReqYN-1" value="No"> No
<button type="submit" name="newProdYN" value="Yes">Submit</button>
</form>
<cfif form.newProdYN IS 'Yes'>
<cfset session.checkout.input.newProduNY = form.newProdYN >
<cfset session.checkout.input.statReqYN = form.statReqYN >
<cflocation url="formcomplete.cfm" addToken="false">
</cfif>
我希望这更有意义吗?