【问题标题】:laravel edit form checkbox values old inputlaravel 编辑表单复选框值旧输入
【发布时间】:2019-06-15 01:26:32
【问题描述】:

如何将 old('') 用于复选框值。下面代码的问题在于它始终为真并检查,因为 $baby_registry->reminder_email 为真。因此,当您在未选中复选框的情况下发布表单时,如果发布请求中不存在,您如何在代码中对其进行测试

@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

【问题讨论】:

  • 没有值属性吗??

标签: php laravel


【解决方案1】:

你可以试试这个。 但我不确定它发送的是什么,因为没有 value 属性

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

【讨论】:

    【解决方案2】:

    你试过了吗

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

    【讨论】:

      【解决方案3】:

      试试这个:

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

      【讨论】:

        【解决方案4】:

        如果未选中复选框输入,则 $_POST 全局中不存在它们。

        所以我建议你试试这个:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-13
          • 2018-06-21
          • 2015-06-22
          • 2021-08-22
          • 2018-06-29
          相关资源
          最近更新 更多