通过动态字段

时间:2018-03-01 13:30:15

标签: php jquery laravel laravel-5 laravel-5.2

我有一个动态字段,我无法获得旧值,因为我使用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 code:

<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检查字段是否为空,如果是,则重定向到同一页面,并说在文本区域内放置一些值。

1 个答案:

答案 0 :(得分:0)

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

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

然后你可以使用oldValues

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