2016-11-29 10 views
-1

Ich möchte einige Daten in die Datenbank mit Bootstrap Modal einfügen. Das Problem ist jedoch, dass die Schaltfläche "Speichern" auf Bootstrap Modal nicht richtig funktioniert, da ich die Daten nicht über das Formular in die Datenbank einfügen konnte. Wenn mir jemand helfen könnte, es zu finden, bitte !?Laravel: Einfügen von Daten in die Datenbank mit Bootstrap Modal

Hier ist das Formteil in Blade:

<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> 

Hier ist der Ajax-Teil:

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

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

Was ist mit dem Controller? – jycr753

+0

grundlegende Authentifizierung, die ich verwendet habe ..Registrieren Controller.das Problem ist speichern Schaltfläche funktioniert nicht.Meine nichts passiert, während ich auf diese Schaltfläche – Hola

Antwort

0

Sie auf die Schaltfläche einreichen. Versuchen Sie, diesen Code in Ihr Formular einzufügen.

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

Problem mit Ihrer aktuellen Bestätigungstaste ist: 1) er nicht über type=submit; 2) er ist außerhalb der Form.

0

allererst hinzufügen type="submit" auf Ihre Schaltfläche

zweitens Ihrem Netzwerk-Registerkarte in den Entwickler-Tools in Ihrem Browser überprüfen und überprüfen Sie die Anforderung es zu /register geht oder nicht? Wenn die Anfrage /register trifft, was sind die Parameter?

0

Formular an Klinge:

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

Ajax Teil

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

       }, 
       error: function (result) { 

       } 
      }); 
     }); 
+0

Ich habe Ihre Lösung.Es ist kein Fehler in der Konsole jetzt, aber keine Daten gesendet. – Hola

+0

@Hola es funktioniert gut für mich, können Sie auf Back-Code zeigen. –

0

Ihre input type Elemente fehlen Attribut 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"> 

Sie dann rufen Sie den Inhalt, indem Sie den Wert des Attributs Name anfordern oder Eingabe über

0

Auf den ersten Formularmethode ändern von bis Post bekommen. Dann fügen Sie die Schaltfläche Speichern mit ID btnSave hinzu. Ajax:

$("#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) { 

     } 
    }); 

}); 

In Controller:

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);  
} 
Verwandte Themen