我有一个复选框,当我选中复选框时我想要它 应该在数据库中插入1 else 0。我怎样才能做到这一点?这是 早先一个单选按钮字段,它将被转换为复选框 已经在数据库中输入工作正常,我发布了我的数据库 代码也是如此。
<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>
答案 0 :(得分:2)
html复选框的工作方式是,如果选中,浏览器会将EXEC SQL
提交给网络服务器。如果未选中该框,则浏览器不会向服务器提交任何内容。
因此最简单的解决方案使用[checkboxname]=[value]
,这将为提交的复选框提供默认值。
因此,在你的html中,你应该有:
cfparam
(如评论中所述,您的值为0,应该为1.)
然后,在数据库代码中:
<input type="checkbox" name="reqtempactionitem" value="1">
请注意<cfparam name="reqtempactionitem" default="0">
...
dbfield = <cfqueryparam cfsqltype="cf_sql_bit" value="#reqtempactionitem#">
的使用,出于性能和安全原因,强烈建议在所有查询中使用cfqueryparam
。