【问题标题】:Storing an array in a database from a form where you can dynamically add fields (laravel)从可以动态添加字段的表单中将数组存储在数据库中(laravel)
【发布时间】:2016-08-14 04:19:29
【问题描述】:

我想在我的注册表单中有一个字段,用户可以在其中输入字符串列表。他们应该能够通过单击按钮将任意数量的字符串添加到列表中。此列表需要存储在后端并显示在他们的个人资料页面上。

在我的注册控制器中,我希望有一些类似的东西

//set user's list of strings to those from the registration form
$user->items = $request->items

然后在用户个人资料页面上,我将显示此项目列表

<ul>
    <li>{{$user->item1}}</li>
    <li>{{$user->item2}}</li>
    <li>{{$user->item3}}</li>
<ul>

【问题讨论】:

标签: javascript php html css laravel


【解决方案1】:

html:

 <div id="dynamicInput">
       <span class="glyphicon glyphicon-plus" onClick="addInput('dynamicInput');"></span>
 </div>

javascripts:

function addInput(divName)
{ 
          var newdiv = document.createElement('div');
          newdiv.innerHTML = "<input type='text' name='items[]'>";
          document.getElementById(divName).appendChild(newdiv);    
}

存储在后端:

foreach($items as $item)
{
 if(!empty($item))
  {     
    $add=new Item();   //Item is the model
    $add->name=$item;  //saving item to name column
    $add->save();       
  }
}

显示:

$items=Item::where(['id'=>$id])->get(); 
foreach($items as $item)
{
       <li>{{$item->name}}</li>  // retreiving item from name column
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 2018-08-26
    • 2012-01-19
    相关资源
    最近更新 更多