我有一个表单,一个按钮,可以再添加一个表单,以及表单请求验证文件。 一切正常,除了一件事: 当用户添加一个字段时(在点击" +添加文档编号"之后)并输入已在DB中的值:
验证工作正常,并将用户重定向到同一页面,但现在只有一个字段:
问题:如何使pic 1中的所有字段保留在pic 2中?
我的代码:
形成自己:
<form>
<div class='inputs'>
<label>Doc number: </label>
<input type="text" name="doc_fullnumber[1]" value="{{old('doc_fullnumber.1')}}">
</div>
<button id='add_item'>Add doc number</button>
<input type="submit" value="Submit">
</form>
一个jquery代码,如果用户单击&#34;按钮,则会再添加一个输入&#34;:
$(document).ready(function(){
$('#add_item').on('click', function (event) {
event.preventDefault();
var i = 2;
$new_docnumber = $(
'<br><br>'+
'<label>Номер док-та: </label>'+
'<input type="text" name="doc_fullnumber['+i+']" placeholder="Номер док-та" value="{{old('doc_fullnumber.[i]')}}">');
$('.inputs').append($new_passenger);
})
})
Laravel的FormRequest文件中的工作表单验证:
public function rules()
{
return [
'doc_fullnumber' => 'unique:tourists'
];
}
public function messages()
{
return ['doc_fullnumber.unique' => 'Doc number is already in DB!'];
}
感谢任何帮助人员!
答案 0 :(得分:1)
这是正常的,因为在没有JS附加元素的情况下加载原始DOM,我建议您使用JQuery(Ajax)。
如果你仍想使用你的代码,你应该使用JS来重新创建请求参数,你需要通过使用键数组来创建输入名称=&#34;键&#34;来循环访问URL请求的参数。 value =&#34; value&#34;,我希望有帮助。
这是获得婴儿车的代码:
var qd = {};
if (location.search)
location.search.substr(1).split("&").forEach(function(item) {
var s = item.split("="),
k = s[0],
v = s[1] && decodeURIComponent(s[1]);
(qd[k] = qd[k] || []).push(v)
})
答案 1 :(得分:1)
尝试这个
返回Redirect :: back() - &gt; withInput(Input :: all());