[英]Dynamically add input fields and save data to Database in lravel
我想將多個數據保存到數據庫中,在不同的列中具有自動遞增的 id,每個數據都有一個唯一的鍵。 用戶可以動態添加輸入字段,最后點擊提交按鈕將數據保存在數據庫中,每個字段都有不同的 id(自動遞增 id)。
我的 js 代碼 ID
<script>
$(document).ready(function(){
$('#add').click(function(){
var inp = $('#box');
var i = $('input').size() + 1;
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName' + i +'" placeholder="Input '+i+'"/><img src="<?php echo '../../uploads/remove.png'?>" width="32" height="32" border="0" align="top" class="add" id="remove" /> </div>').appendTo(inp);
i++;
});
$('body').on('click','#remove',function(){
$(this).parent('div').remove();
});
});
</script>
表格插入數據
<div class="row-fluid">
<div class="span6">
<div class="control-group">
<label class="control-label">Add Tags<span class="required"></span></label>
<div class="controls">
<div id="box">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="text" name="tagName[]" id="name" class="m-wrap span12" placeholder="Input Tags"
value="">
<a href="#" class="btn blue" id="add">Add More</a>
</div>
</div>
</div>
</div>
</div>
控制器功能:
foreach( Input::get('tagName') as $name) {
$objectTagProduct = new TagModel;
$objectTagProduct ->name = $name;
$objectTagProduct->save();
}
我最初只能插入第一個數據,現在 **
我收到為 foreach() 提供的無效參數
** 錯誤。 提前致謝。
我認為問題出在這里:
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName' + i +'"...
^^^^^^^^^
如果要將tagName
作為數組獲取,則必須使用括號:
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName[]"...
您可以嘗試通過以下方式保存。
$data[] = Input::get('tagName');
打印$data並檢查記錄是否到達,然后以下面的方式保存。
foreach($data as $name) {
$objectTagProduct = new TagModel;
$objectTagProduct ->name = $name;
$objectTagProduct->save();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.