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

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

我想将多个数据保存到数据库,在不同的列中自动增加的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()提供的无效参数

**错误。提前致谢。

javascript laravel
2个回答
1
投票

我认为问题在于:

 $('<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[]"...

0
投票

您可以尝试以下方式保存。

$data[] = Input::get('tagName');

打印$ data并检查记录是否到达然后保存在下面。

foreach($data  as $name) {       
   $objectTagProduct = new TagModel;
   $objectTagProduct ->name = $name;
   $objectTagProduct->save();
}
© www.soinside.com 2019 - 2024. All rights reserved.