簡體   English   中英

laravel編輯表單復選框值舊輸入

[英]laravel edit form checkbox values old input

如何使用old('')作為復選框值。 以下代碼的問題在於,由於$ baby_registry-> reminder_email為true,因此它始終為true並已檢查。 因此,當您在不選中復選框的情況下發布表單時,如果發布請求中沒有該表單,如何在代碼中對其進行測試

@php
    $reminder_email = old('reminder_email', $baby_registry->reminder_email);
@endphp

<input type="checkbox" name="reminder_email" id="reminder_email" {{ $reminder_email ? 'checked' : '' }}>

我最終不得不為此做代碼

@if($errors->any() && old('reminder_email') == 'on')
    <input type="checkbox" name="reminder_email" id="reminder_email" checked>
@elseif($errors->any() && !old('reminder_email'))
    <input type="checkbox" name="reminder_email" id="reminder_email">
@else
    <input type="checkbox" name="reminder_email" id="reminder_email" {{ $baby_registry->reminder_email ? 'checked' : false }}>
@endif

你有沒有嘗試過

@if(isset($reminder_email))
<input type="checkbox" name="reminder_email" id="reminder_email" checked>
@endif

你可以試試看 但是我不確定它發送的是什么,因為沒有屬性

<input type="checkbox" name="reminder_email" id="reminder_email" @if(old('reminder_email', $baby_registry->reminder_email))checked @endif >

嘗試這個:

<input type="checkbox" name="reminder_email" id="reminder_email" value='1' {{ old('reminder_email', $baby_registry->reminder_email)? 'checked="checked"':null }}>

如果未選中復選框輸入,則它們在$_POST全局$_POST中不存在。

所以我建議您嘗試一下:

<input type="checkbox" name="reminder_email" id="reminder_email" {{ !$reminder_email ? "" : "checked" }} />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM