Восстановить старый ввод динамически добавленных строк при неудачной проверке - PullRequest
0 голосов
/ 12 октября 2019

У меня есть форма, в которой динамическая строка генерируется при каждом поиске продукта без каких-либо проблем, но при сохранении формы, если моя проверка не проходит, обновляется страница, и все строки, которые я добавил, динамически удаляются.

IЯ пытался восстановить старый ввод этой строки, используя 'старый' помощник Laravel, но все равно не восстанавливает его.

HTML:

<div class="table-responsive">
     <form action="{{ route('save') }}" method="POST">
      <table class="table table-bordered table-condensed" id="mytable">
        <div class="row">
           <div>
            <input type="text" id="search" class="form-control">
          </div>
          <div>
            <button type="button" name="add" id="add" class="btn btn-success">Add Row</button>
          </div>
        </div>
        <thead>
          <tr>
            <th>Product</th>
            <th>Qty</th>
            <th>Price</th>
            <th>Action</th>
          </tr>
        </thead>
        <tr>
      </table>
        <input type="button" name="submit" id="submit" class="btn btn-info" value="Submit" />  
        </form>
    </div>

Скрипт:

$('#search').on('keydown', function(e) {
if(e.which == 13){
var proid = $("#search").val();
//alert(proid);
$.ajax({
        url: '{{ URL::to('search-product/')}}'+"/"+ proid,
        type: "Get",    
        dataType:"json",   
        success: function (response) 
       {
     var trHTML = '';
$.each(response, function (i, item) {
trHTML += '<tr>' +
'<td><input type="text" name="name[]" class="form-control nameclass"value="' + item.name + '" /></td>' + 
'<td><input type="text" name="qty[]" class="form-control qtyclass "value="' + '1' + '" /></td>' + 
'<td><input type="text" name="price[]" class="form-control priceclass" value="' + item.price + '" /></td>' + 
'<button><button type="button" class="btn btn-danger remove-tr">Remove</button></button>' + 
          '</tr>';
});
    $('#mytable').append(trHTML);
            }
        });
    }
    });

ВводСценарий восстановления:

var nameclassOldValue = '{{ old('name[]') }}';
if(nameclassOldValue !== '') {
  $('.nameclass').val(nameclassOldValue );
  $('.nameclass').change();
  }

var qtyclassOldValue = '{{ old('qty[]') }}';
if(qtyclassOldValue !== '') {
  $('.qtyclass').val(qtyclassOldValue );
  $('.qtyclass').change();
  }

var priceclassOldValue = '{{ old('price[]') }}';
if(priceclassOldValue !== '') {
  $('.priceclass').val(priceclassOldValue );
  $('.priceclass').change();
  }

После сбоя проверки строки должны остаться с текущим вводом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...