2016-11-29 51 views
-1

我想使用Bootstrap模式将一些数据插入到数据库中。但问题是保存按钮在引导模式下无法正常工作,因为我无法通过表单将数据插入到数据库中。如果有人可以帮我找到它!?Laravel:使用Bootstrap模式将数据插入数据库

这里是叶片的组成部分:

<div id="myAlert" class="modal hide"> 
    <div class="modal-header"> 
     <button data-dismiss="modal" class="close" type="button">×</button> 
     <h3>Create User</h3> 
    </div> 
    <div class="modal-body"> 
     <div class="row-fluid"> 
      <div class="span12"> 
       <div class="widget-box"> 
        <div class="widget-content nopadding"> 
         <form action="#" method="get" id="userForm" class="form-horizontal"> 
          <div class="control-group"> 
           <label class="control-label">Name :</label> 

           <div class="controls"> 
            <input class="span11" placeholder="Name" type="text"> 
           </div> 
          </div> 
          <div class="control-group"> 
           <label class="control-label">Email :</label> 

           <div class="controls"> 
            <input class="span11" placeholder="Email" type="email"> 
           </div> 
          </div> 
          <div class="control-group"> 
           <label class="control-label">Password</label> 

           <div class="controls"> 
            <input class="span11" placeholder="Enter Password" type="password"> 
           </div> 
          </div> 
          <div class="control-group"> 
           <label class="control-label">Confirm Password</label> 

           <div class="controls"> 
            <input class="span11" placeholder="Confirm Password" type="password"> 
           </div> 
          </div> 
         </form> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="modal-footer"><a data-dismiss="modal" class="btn btn-primary" href="#">Confirm</a> <a 
       data-dismiss="modal" class="btn" href="#">Cancel</a> 
    </div> 
</div> 

这里是阿贾克斯部分:

$('#userForm').on('success.form.fv', function(e) { 
     e.preventDefault(); 

     $.ajax({ 
      method: 'POST', 
      action:"{{ url('/register') }}", 
      data: $form.serialize() 
     }); 
    }); 
+0

怎么样的控制? – jycr753

+0

基本认证我已经使用..注册controller.the问题是保存按钮不起作用。意味着什么都没有发生,当我点击该按钮 – Hola

回答

0

您需要提交按钮。尝试将此代码放入您的表单中。

<button type="submit" class="btn btn-primary">Register</button> 

问题与您现有的确认键是:1)他没有type=submit; 2)他在表格之外。

0

首先添加type="submit"到您的按钮

其次检查您的网络标签在你的浏览器开发者工具和检查要求它去/register与否? 如果请求打/register是什么参数?在刀片

0

组成部分:

<div class="modal-footer"><a data-dismiss="modal" class="btn btn-primary" id="btnAdd">Confirm</a></div> 

阿贾克斯部分

 $('#btnAdd').click(function() { 
      $.ajax({ 
       url: '{{url('/register')}}', 
       type: 'POST', 
       data: $('#userForm').serialize(), 
       success: function (object) { 

       }, 
       error: function (result) { 

       } 
      }); 
     }); 
+0

我已经使用你的解决方案。现在控制台没有错误,但没有提交数据。 – Hola

+0

@Hola对我来说工作得很好,你可以展示给后面的代码。 –

0

你的输入类型元素缺少name属性

<input class="span11" placeholder="Name" name="name" type="text"> 

<input class="span11" placeholder="Email" name="email" type="email"> 

<input class="span11" placeholder="Enter Password" name="password" type="password"> 

<input class="span11" placeholder="Confirm Password" name ="confirm_password" type="password"> 

然后,使用请求或输入通过传递name属性

0

的价值首先改变你的形式方法检索内容从得到。然后添加ID为btnSave的保存按钮。 阿贾克斯:

$("#btnSave").click(function(e){ 
    e.preventDefault() 
    var $form = $("#userForm"); 
    $.ajax({ 
     type: $form.attr('method'), 
     url: $form.attr('action'), 
     data: $form.serialize(), 
     success: function (data, status) { 
      if(data.error){ 
       return; 
      } 
      alert(data.success); // THis is success message 
      $('#myModal').modal('hide'); // Your modal Id 
     }, 
     error: function (result) { 

     } 
    }); 

}); 

在控制器:

public function store(Request $request) 
{ try { 
    $inputs = $request->all(); 
    ModelName::create($inputs); 
    $data = ['success' =>'Data saved successfully'];   
    } catch (\Exception $e) { 
     $data = ['error' =>$e->getMessage()];   
    }   
    return Response::json($data);  
}