2017-07-18 115 views
0

我有一個複選框,我希望當我檢查複選框時,它應該在數據庫中插入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> 
+0

你有'value =「0」'。您通常將值設置爲「1」。如果選中,你會在變量中得到1;否則StructKeyExists返回false。 –

+0

我無法理解這個正確的代碼,你能幫助我,這應該幫助我插入我的價值觀嗎? –

+0

嘿,Thankyou BernhardDöbler我的代碼現在正在工作。非常感謝。 –

回答

2

方式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

\t \t \t \t \t \t \t \t #mocTrans.Translate( 「必需的模板行動項目?」)# \t \t \t \t \t \t \t \t \t \t \t ​​ \t \t < input type =「checkbox」name =「reqtempactionitem」value =「1」> \t \t 對於數據庫的代碼: \t, \t \t \t,0 \t

+0

但它只有在數據庫中輸入1,我希望當我檢查這個複選框,我應該得到1,否則我應該得到0.我怎麼能做到這一點,你可以請我的代碼,我已經浪費了我在這一天。 –

相關問題