Как получить старые входные данные со значением 0 в laravel?

#php #html #laravel #laravel-5 #laravel-5.3

#php #HTML #laravel #laravel-5 #laravel-5.3

Вопрос:

Чтобы перенаправить обратно с предыдущим вводом, обычно есть return redirect()->back()->withInput(); . Затем, чтобы получить предыдущее значение для переключателя:

 <input name="question1" value="0" type="radio" id="q1-0" {{ old('question1') == 0?'checked':'' }}/>
<label for="q1-0" class="label-margin">0</label>

<input name="question1" value="1" type="radio" id="q1-1" {{ old('question1') == 1?'checked':'' }}/>
<label for="q1-1" class="label-margin">1</label>

<input name="question1" value="2" type="radio" id="q1-2" {{ old('question1') == 2?'checked':'' }}/>
<label for="q1-2" class="label-margin">2</label>

<input name="question1" value="3" type="radio" id="q1-3" {{ old('question1') == 3?'checked':'' }}/>
<label for="q1-3" class="label-margin">3</label>
 

Он работает нормально, за исключением того, который имеет значение 0. Когда нет предыдущего ввода для вопроса 1, old('question1') также возвращайте 0, делая выбор 0 всегда выбранным при возврате, где я хочу, чтобы все варианты не были выбраны.

Есть ли способ оставить выбор 0 не пустым, если нет предыдущего ввода?

Комментарии:

1. Вы проверяли использование null вместо 0 ?

Ответ №1:

попробуйте это. 🙂

 if (old('input_name') !== null amp;amp; old('input_name') == 0) {
   // input is satified
}
 

Комментарии:

1. Можете ли вы добавить немного мяса к кости?

Ответ №2:

Вы можете попробовать, сравнив использование 3 « = » следующим образом: {{ old('question1') === 0 ? 'checked' : '' }} .

Это позволит убедиться , что old('question1') это действительно 0 так , а не false или null .

Комментарии:

1. Вы проверяли, прежде чем ответить? Нет, это не работает.

2. Можете ли вы dd(old('question1')) и показать нам, что он возвращает?

Ответ №3:

Сделайте так

 <?php if( old('question1) == '0'){echo "checked";} ?>
 

Комментарии:

1. Вы тестировали перед ответом? Нет, это не работает.