如何在ColdFusion中获取单选按钮的值?

时间:2014-12-15 08:53:32

标签: button coldfusion get radio

我无法找到一个简单的教程来帮助我完成这项任务。基本上我需要分配单选按钮的值并通过会话将其传递到下一页。这是我的单选按钮输入代码。

<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#获取值时,结果是未定义的。任何人都可以帮我解决这个问题吗?

1 个答案:

答案 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>

我希望这更有意义吗?