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

De *_* De 0 coldfusion get button 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
Run Code Online (Sandbox Code Playgroud)

之后,我将设置按钮的值:

<cfif isdefined("form.newProdYN") and form.newProdYN is "No"> 
<cfset form.newProdNY = "No">
</cfif>
Run Code Online (Sandbox Code Playgroud)

最后,我将通过提交按钮将其传递到同一会话的下一页:

<cfif not arrayLen(errors)>
<cfset session.checkout.input = {
newProdNY=form.newProdNY}>
<cflocation url="formcomplete.cfm" addToken="false">
</cfif>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在html中使用#session.checkout.input.newProdYN#获取值时,结果是未定义的.任何人都可以帮我解决这个问题吗?

小智 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>
Run Code Online (Sandbox Code Playgroud)

我希望这更有意义吗?