2017-07-19 6 views
0

Ich versuche ein Kontrollkästchen zu schreiben, das boolesche Werte in der Datenbank speichern soll, wenn es aktiviert oder deaktiviert ist. Genau genommen möchte ich nur ein Kontrollkästchen, und wenn es aktiviert ist, bekomme ich 1 in der Datenbank, sonst speichere ich 0. Wie kann ich das mit ColdFusion bekommen? Ich habe viel Zeit dafür verschwendet, aber kein Glück.Boolesches Kontrollkästchen in ColdFusion

+0

Mögliches Duplikat [wie einzelne Textbox Wert in der kalten Fusion Code einfügen] (https://stackoverflow.com/questions/45159889/how-to-insert-single-textbox-value-in-cold- fusion-code) –

+0

Das ist meine Frage, die ich gestellt hatte, aber sie hat nicht die richtige Ausgabe geliefert, deshalb habe ich sie heute erneut gepostet. Irgendwelche Vorschläge werden sehr geschätzt. ThankYou –

+0

Sie sollten den Code einbeziehen, den Sie ausprobiert haben. Was Sie erwartet haben und was Sie stattdessen bekommen haben. –

Antwort

2

Sie würden ein Kontrollkästchen in Ihrem HTML mit einem Wert von 1 erstellen. Lassen Sie es "MyCheckbox" nennen. Wie Sie wahrscheinlich wissen, ist beim Übergeben eines Formulars, für das kein Kontrollkästchen aktiviert ist, in den Formulardaten nichts über dieses Kontrollkästchen enthalten. Ein Ansatz, um damit umzugehen, besteht darin, den Wert am Backend zu bestimmen. Also, wenn Ihr Formular Beiträge formpost.cfm, dann an der Spitze dieser Datei, Sie würden:

param boolean form.MyCheckbox = 0; 

Auf diese Weise würde form.MyCheckbox immer einen Wert haben, 0 oder 1, was würden Sie dann Einfügen in die Datenbank. Ein anderer Ansatz besteht darin, ein verstecktes Formularfeld zu haben, das den "echten" Ankreuzfeldwert speichert und js verwendet, um das click -Ereignis für das checkbox-Element an eine Funktion zu binden, die den versteckten Feldwert basierend auf dem checked checked -Attribut aktualisiert.

+0

Wenn Sie 'cfparam' verwenden, müssen Sie den' type' angeben, um sicherzustellen, dass die dieser Variablen zugewiesenen Daten den richtigen Datentyp haben. Machen Sie nicht die versteckte Form Feld Sache, das ist nur unnötig kompliziert. –

0

Benennen Sie Ihr Kontrollkästchenfeld. Wenn diese Option aktiviert ist, wird das Formular durchlaufen. Dann verwenden Sie einfach eine structKeyExists(), um es abzuholen.

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

Warum die Downvotes? Was ist los mit meiner oder Daves Antwort? – Shawn