如何在coldfusion代码中插入单个复选框的值
问题描述:
我有一个复选框,我希望当我检查复选框时,它应该在数据库中插入1个其他0。我怎样才能做到这一点?这是 更早的一个单选按钮字段,它正在转换为复选框,因此 已经在数据库中输入正常,我发布了我的数据库 代码。如何在coldfusion代码中插入单个复选框的值
<tr>
<td class="leftFormLabelCell extrasmalltextbold" style="border-
left:1px solid ##9c9c9c;" width="15%">
#mocTrans.Translate("Required template Action Item?")#
</td>
<td>
<input type="checkbox" name="reqtempactionitem" value="0">
</td>
</tr>
Databse code:
<cfif StructKeyExists(URL, "reqtempactionitem") and
IsBoolean(URL.reqtempactionitem)>
, #reqtempactionitem#
<cfelse>
, 0
</cfif>
答
\t \t \t \t \t \t \t \t #mocTrans.Translate( “必需的模板行动项目?”)# \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t 对于数据库的代码: \t, \t \t \t,0 \t –
方式HTML复选框的工作是,如果被选中,浏览器将提交[checkboxname]=[value]
到Web服务器。如果该框是而不是选中,则浏览器不会向服务器提交任何内容。
所以最简单的解决方案使用cfparam
,这将使提交的复选框成为默认值。
因此,在你的HTML,你应该有:
<input type="checkbox" name="reqtempactionitem" value="1">
(正如在评论中指出的那样,你的价值为0,应为1)
然后,在数据库的代码:
<cfparam name="reqtempactionitem" default="0">
...
dbfield = <cfqueryparam cfsqltype="cf_sql_bit" value="#reqtempactionitem#">
注意使用cfqueryparam
,这是在性能和安全方面的原因所有查询强烈推荐。
+0
+0
但它只有在数据库中输入1,我希望当我检查这个复选框,我应该得到1,否则我应该得到0.我怎么能做到这一点,你可以请我的代码,我已经浪费了我在这一天。 –
你有'value =“0”'。您通常将值设置为“1”。如果选中,你会在变量中得到1;否则StructKeyExists返回false。 –
我无法理解这个正确的代码,你能帮助我,这应该帮助我插入我的价值观吗? –
嘿,Thankyou BernhardDöbler我的代码现在正在工作。非常感谢。 –