动态添加输入字段并将数据保存到数据库

问题描述 投票:2回答:2

我想用自动增加的id(1,2,3 ...等)将多个数据保存到数据库,而不是在同一列中。用户可以动态添加输入字段,最后点击提交按钮,将数据保存在数据库中,每个数据库具有不同的id(自动递增id)。

我的js生成输入字段和用户想要的一样多

<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::get('add','AddMoreController@create');
Route::post('add','AddMoreController@store');

控制器:

public function store(Request $request)
{
    foreach($request->get('name') as $name) {
        $bio =  new Bio;
        $bio->details = $name;
        //dd($request->get('name'));
        $bio->save();

    }
    return "Success";
}

但是它在数据库中只有一个输入字段值。任何可以帮助我的人。

javascript php jquery mysql laravel-5
2个回答
3
投票

这是你的问题qazxsw poi你要求qazxsw poi而不是qazxsw poi

name="name' + i +'"更改为$request->get('name')以获得$request->get('name1'),$request->get('name2') ...的名称


1
投票

在您的视图文件中应用表单代码:

name="name' + i +'"

我的Jquery文件:

name="name[]"

在控制器文件中添加:

$request->get('name')

我希望这对你有用。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.