In your html, name[] should be name.
Dynamically add input fields and save data to Database
I want to save the multiple data to database with autoincremented id (1,2,3...etc),not in same column. User can dynamically add input fields and finally click submit button to save data in database with different id(auto incremented id) for each.
my js to generate input field as many as user wants
<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="name' + i +'" placeholder="Input '+i+'"/><img src="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 id="box">
<form action="{{url('add')}}" method="post">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input name="name[]" type="text" id="name" class="name" placeholder="Input 1">
<a href="#" id="add">Add More Input Field</a>
<input type="submit" value="submit">
</div>
route:
Route::get('add','AddMoreController@create');
Route::post('add','AddMoreController@store');
controller:
public function create()
{
return view('add_more');
}
public function store(Request $request)
{
$bio = new Bio;
$bio->details = $request->get('name');
//dd($request->get('name'));
$bio->save();
return "Success";
}
Please ,anybody who can help me
This is you problemname="name' + i +'" you are requesting$request->get('name') not $request->get('name1'),$request->get('name2') ...
Change name="name' + i +'" to name="name[]"to get the name with $request->get('name')
change .appendTo(inp); to .appendTo($('#box form'));
Please or to participate in this conversation.