2016-04-19 7 views
0

Verwenden von Laravel 5.1Wie binde ich Daten an einen Checkbox-Eingang Laravel?

Ich habe ein Formular, an das ich Daten binden bin. Bis auf die Checkbox funktioniert alles wie erwartet.

Hier ist meine Eingabe (Blade-Vorlage);

<input type="checkbox" name="noContact" value="{{ $profile['noContact'] }}"> 

Das Feld ist ein boolean und der geprüfte Wert sollte 1 sein Scheint nicht verbindlich. Was vermisse ich?

Danke!

Antwort

1

Vielleicht = "checked" geprüft zu verwenden versuchen, statt Wertattribut:

<input type="checkbox" name="noContact"{{ $profile['noContact'] ? ' checked="checked"' : '' }}> 
+0

Danke Soywod! Das hat es getan. – RushVan

1

Wenn Sie in Ihrem Beispiel den Wert auf "bla bla" setzen und das Kontrollkästchen aktiviert ist, erhalten Sie beim Senden des Formulars im Controller genau "bla bla".

Wenn Sie nur überprüfen wollen, ob das Kontrollkästchen aktiviert ist oder nicht, stellen Sie einfach den Wert auf 1 und in der Steuerung handle es wie folgt aus:

$checked = (bool)Input::get("checkbox_name"); 

Oder in einem Zustand:

if(!empty(Input::get("checkbox_name"))){...} 
+0

Danke Claudio. Was ich versuche, ist ein Formular zum Bearbeiten des Benutzerprofils. Wenn sie in ihrem Profil "noContact" aktiviert haben, sollte es überprüft werden, wenn das Bearbeitungsformular angezeigt wird. Kann nicht scheinen, diesen Wert zu binden ... – RushVan

+0

Ok, zu diesem Lesen SoyWod Antwort. –

0

In Laravel, können Sie Versuchen Sie Forms & HTML zu verwenden.

Form::checkbox("noContact", $profile['noContact']); 
+0

Danke für die Antwort. Eigentlich habe ich mich entschieden, die Form-Fassade nicht zu verwenden, weil man merkwürdigerweise dem Etikett keine HTML-Attribute (einfach) hinzufügen kann. Wie * für Pflichtfelder zum Beispiel. Ansonsten ist das obige eine sehr einfache Möglichkeit, das zu erreichen, was ich wollte. – RushVan

Verwandte Themen