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 使用 textarea
s.
的表格
var oldValues = json_encode(old('somefield[]'))
那么你可以使用oldValues
oldValues.forEach(function(oldValue) {
// create new textarea using oldValue as value
})
我有一个动态字段,但我无法获取旧值,因为我用 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 使用 textarea
s.
var oldValues = json_encode(old('somefield[]'))
那么你可以使用oldValues
oldValues.forEach(function(oldValue) {
// create new textarea using oldValue as value
})