2017-09-01 2 views
1

Ich habe ein Formular. Nach der Übermittlung des Formulars, wenn es einen Fehler hat, wird es auf die gleiche Seite umgeleitet und füllt die Daten, die der Benutzer übermittelt hat, vor. Ich habe 3 checkbox Felder in dieser Form. Angenommen, der Benutzer hat nur die first checkbox überprüft und das Formular abgeschickt. Also, wenn das Formular einen Fehler hat, wird es auf die gleiche Seite umleiten, aber das Problem ist, wenn es hier wieder umleitet dann all the checkboxes got selected instead of only the 1st one.Laravel Kontrollkästchen Eingang alt funktioniert nicht richtig

<div class="form-group"> 
    <label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label> 
    <input type="checkbox" name="hobbies[]" value="Cricket" @if (is_array(old('hobbies'))) && (in_array('Cricket', old('hobbies'))) checked @endif> Cricket 
    <input type="checkbox" name="hobbies[]" value="Football" @if (is_array(old('hobbies'))) && (in_array('Football', old('hobbies'))) checked @endif> Football 
    <input type="checkbox" name="hobbies[]" value="Badminton" @if (is_array(old('hobbies'))) && (in_array('Badminton', old('hobbies'))) checked @endif> Badminton 
</div> 
+0

haben Sie mit der Eingabe überprüft :: alt ( – rahulsm

+0

? Nein. Ich habe es nicht überprüft –

+0

die Version von Laravel Sie? – rahulsm

Antwort

0

Sie sollten diese Art und Weise tun, damit es funktioniert,

<div class="form-group"> 
    <label>Hobbies: <span><em>{{$errors->first('hobbies')}}</em></span></label> 
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Cricket', old('hobbies'))) ? 'checked' : '' }}> Cricket 
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Football', old('hobbies'))) ? 'checked' : '' }}> Football 
    <input type="checkbox" name="hobbies[]" value="Cricket" {{ !empty(old('hobbies')) && (in_array('Badminton', old('hobbies'))) ? 'checked' : '' }}> Badminton 
</div> 

es versuchen, sollte es funktionieren.

1

Sie haben unsymmetrische und falsch platzierte Klammern, daher ist Ihre if nicht korrekt bewertet.

@if (is_array(old('hobbies')) && in_array('Badminton', old('hobbies'))) 
+0

Ja, Sie haben Recht. –

Verwandte Themen