2016-04-08 2 views
1

Ich versuche, Daten mit modalem Bootstrap senden, aber ich kann es nicht zum Laufen bringen. Die Seite wird mehr als ein Modal enthalten, damit der Benutzer seine Daten einfach aktualisieren kann. Hier der Code.Fehler beim Senden von Formular auf einem Twitter-Bootstrap zu PHP mysql mit Ajax

<div class="modal fade" id="overview-modal" role="dialog"> 
       <div class="modal-dialog"> 
        <!-- Modal content--> 
        <div class="modal-content"> 
         <div class="modal-header"> 
          <button type="button" class="close" data-dismiss="modal">&times;</button> 
          <h4 class="modal-title">Overview</h4> 
         </div> 
         <form id="overview_form" action="neuro/update_profile.php" class="form-horizontal" > 
          <div class="modal-body"> 
           <div class="form-group"> 
            <label for="inputEmail3" class="col-sm-2 control-label">Overview</label> 
            <div class="col-sm-10"> 
             <textarea class="form-control" id="overview_input" cols="20" rows="10" name="overview_textarea"> 

             </textarea> 
<input type="hidden" name="url"/> 
            </div> 
           </div> 

           <div class="form-group"> 

           </div> 
          </div> 
          <div class="modal-footer"> 
           <div class="btn-group"> 

            <input type="submit" id="save" class="btn btn-success" value="Save"/> 
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
           </div> 

          </div> 
         </form> 
        </div> 
       </div> 
      </div> 

Dies ist Javascript, das das Formular Vorlage an die PHP-Datei

<script> 
     $(document).ready(function() { 


      $("#save").submit(function() { 
       var formData = $("form#overview_form").serialize(); 
       var my_url = "neuro/update_profile.php"; 
       $.ajax({ 
        type: "POST", 
        url: my_url, 
        data: formData , 
        success: function (msg) { 
         $("#overview-modal").modal('hide'); 
        }, 
        error: function() { 
         alert("Error encounted"); 
        } 
       }); 

       return false; 
      }); 
     }); 
    </script> 

Die PHP ist neoro/update_profile, da ich werde mit mehr als einem modal in der in einem Ordner behandelt genannt Profilseite ich habe beschlossen, eine uRL auf dem Formular Attribute anhängen, so dass es leicht in der pHP verarbeitet werden können

$profile = new Profile(); 
$url = $_POST['url']; 
if (isset($url)) { 
    if ($id == "overview") { 

     $overview = $_POST['overview']; 
     $profile->save_overview($user_id, $overview); 
     return TRUE; 
    } 
} else { 
    header("Location: ./profile.php"); 
} 
+0

Wenn Sie sagen, es funktioniert nicht ... was genau passiert? – AceKYD

+0

Fehler beim Senden von Daten an das PHP-Skript – user3278647

Antwort

1

tun:

$('#overview_form').submit(// your code here); 

Statt auf #save, da Sie Formular einreichen nicht Taste

Oder

Auch können Sie gleiche Sache auf #save erreichen, aber mit Klick-Funktion wie unten

$('#save').click(// here your code); 
+0

$ ('# overview_form'). Submit (// Ihr Code hier); hat gearbeitet – user3278647

+0

Ja .. Wir machen das manchmal. Und da Sie Formular mit Ajax einreichen, müssen Sie keine ** Aktion ** und ** Methode ** ATTRBS im Formular-Tag haben. – kakurala

1

Dies ist voll von Fehlern

  1. Sie sind die Form über GET Methode Senden und es über POST Methode
  2. Ihre URL-Feld ist leer
  3. Sie verwenden Aktionsfeld und auch gerne gleichzeitig
  4. Ihre jQuery-Code den Zugriff auf nicht korrekt ist
  5. Sie sind $ id Variable in Ihrem pHP-Code verwenden, das ist
  6. undefined

Corrected Code:

  1. <form id="overview_form" class="form-horizontal" method="post">

  2. <input type="hidden" name="url" value='yoururl'/>

+0

Danke, löste einen Teil des Problems – user3278647

+0

Was meinst du in Schritt 3? – user3278647

+0

Aktionsfeld von Formular leitet Sie zu einem anderen Ort, wo erwähnt dann jquery oder js wird nicht korrekt funktionieren, wie Sie auf der gleichen Seite bleiben wollen. –

Verwandte Themen