2017-07-19 106 views
0

我想编码一个复选框,它应该在选中或取消选中时在数据库中存储布尔值。准确地说,我只想要一个复选框,当它被选中时,我会在数据库中得到1,否则我将存储0.我怎样才能使用ColdFusion?我浪费了很多时间,但没有运气。ColdFusion中的布尔值复选框

+0

的可能的复制[如何插入在冷聚变代码单个文本框的值](https://stackoverflow.com/questions/45159889/how-to-insert-single-textbox-value-in-cold- fusion-code) –

+0

这是我的问题,我已经提出,但它没有给出正确的输出,所以我已经转发了它今天。任何建议将不胜感激。 ThankYou –

+0

您应该包含您尝试的代码。你所期望的和你得到的是什么。 –

回答

2

您会在您的html中创建一个复选框,值为1.我们称之为'MyCheckbox'。正如您可能知道的那样,当您发布一个未经检查的复选框的表单时,表单数据中不会包含该复选框。处理这个问题的一种方法是在后端上设置价值。所以,如果您的形式职位,以formpost.cfm,然后在该文件的顶部,你会:

param boolean form.MyCheckbox = 0; 

这样,form.MyCheckbox总是有一个值,0或1,你会再插入到数据库中。

另一种方法是有一个隐藏的表单字段,用于存储“真实”复选框值,并使用js将复选框元素上的单击事件绑定到基于复选框的checked属性更新隐藏字段值的函数。

+0

无论何时使用'cfparam',确保指定'type'以确保分配给该变量的数据具有正确的数据类型。不要做隐藏的表单域的事情,这是不必要的复杂。 –

0

为您的复选框字段命名。选中后,它将通过表单。然后只需使用structKeyExists()即可。

x = structKeyExists(FORM,"checkboxName")?1 (or sanitized checkbox value):0 
+2

为什么downvotes?我的或Dave的答案有什么问题? – Shawn