通过动态字段输入::旧Laravel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过动态字段输入::旧Laravel相关的知识,希望对你有一定的参考价值。

我有一个动态字段,我不能得到旧值,因为我用jQuery添加了这个动态字段,但在验证后我没有字段。

我的jQuery代码:

var fielddd = 1;
$(document).on('click', '.btn.add-field', function() {
   fielddd++;
   $('#newfield').append('<textarea class="from-control" name="somename[]" id="field_' + field + '"></textarea>' + '<button class="btn add-field">add</button>' + '<textarea class="from-control" name="somename2[]" id="field_' + field + '"></textarea>');
});

html代码:

<div class="row">
   <div class="{{($errors->has('somename[]')}}"
       <textarea class="from-control"  name="somename[]" id="field"> 
       </textarea>
{!! $errors->first('somename[]',:message) !!}
</div>
    <button class="btn add-field">add</button>
    <div class="{{($errors->has('name[]')}}"
          <textarea class="from-control" name="name[]" id="field">
         </textarea>
    {!! $errors->first('somename[]',:message) !!}
   </div>
</div>

<div class="row" id="newfield">
    <!-- new textarea -->
</div>

如何在验证后获得具有相同输入的相同字段? 我举个例如某个字段是空的。如果我按下添加字段,然后按下按钮提交laravel检查字段是否为空,如果是,则重定向到同一页面,并说在文本区域内放置一些值。

答案

您可以在表单中打印出旧的响应,然后您可以从中获取。如果您将old('somefield[]')打印为JSON,则可以读取每个值并使用textareas重新填充表单。

var oldValues = json_encode(old('somefield[]'))

然后你可以使用oldValues

oldValues.forEach(function(oldValue) {
    // create new textarea using oldValue as value
})

以上是关于通过动态字段输入::旧Laravel的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 从 Laravel 中的动态输入中获取旧值?

Laravel 7 - 如何正确显示旧输入/s?

Laravel 8 - 旧输入和验证错误消息不起作用

(Laravel)表单验证不返回旧输入

选择字段旧值无法在 laravel 中显示

laravel 中动态输入字段的验证