Input::old Laravel 按动态字段

Input::old Laravel by dynamic field

我有一个动态字段,但我无法获取旧值,因为我用 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 检查该字段是否为空,如果是则它重定向到同一页面并说要在文本区域内放置一些值。

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

的表格
var oldValues = json_encode(old('somefield[]'))

那么你可以使用oldValues

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