2016-09-18 15 views
0

Ich habe überall gesucht und verschiedene Kombinationen ausprobiert. Ich werde versuchen, genau zu erklären, was ich brauche. Ich habe eine Tabelle mit SQL-Daten gefüllt, letzte Spalte ist eine Schaltfläche Bearbeiten, um ein Bootstrap-Modal zu öffnen. Ich war in der Lage, die Tabelle aufzufüllen und die Edit-Schaltfläche zu erstellen, um die Zeilen-ID in das Modal für die Abfrage des modalen Auffüllens aller Eingaben mit tatsächlichen DB-Daten zu übergeben. Alles funktioniert. Aber jetzt kann ich nicht einmal einen POST auf dem Formular machen, ich drücke den Knopf und nichts passiert.Bootstrap Modal Formular einsenden

<?php 
require 'style/header.php'; 
require 'core/db_connect.php'; 
?><div class="main"> 
      <div class="row"> 
       <table class= "table table-striped table-bordered table-hover"> 
        <thead> 
         <tr> 
          <th colspan="1" rowspan="1" style="width: 180px;" tabindex="0">BI/CC</th> 
          <th colspan="1" rowspan="1" style="width: 220px;" tabindex="0">Name</th> 
          <th colspan="1" rowspan="1" style="width: 288px;" tabindex="0">Supplier Number</th> 
          <th colspan="1" rowspan="1" style="width: 40px;" tabindex="0">Actions</th> 
         </tr> 
        </thead> 
        <tbody> 
        <?php 
        $query = "SELECT bicc, name, supplier_number "; 
        $query .= "FROM ext_work_risk "; 
        $result = sqlsrv_query($dbhandle, $query); 
        $i=0; 
        while($fetch = sqlsrv_fetch_array($result)) 
        { 
         if($i%2==0) $class = 'even'; else $class = 'odd';       
         echo'<tr class="'.$class.'"> 
          <td>'.$fetch['bicc'].'</td> 
          <td>'.$fetch['name'].'</td> 
          <td>'.$fetch['supplier_number'].'</td>        <td><a class="modalButton" data-bicc="'.$fetch['bicc'].'"><button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#modal_edit" data-container="body">Edit</button></a></td> 
          </tr>';       
         } 
         ?> 
         </tbody> 
        </table> 
     </div> 
</div> 
<div id="modal_edit" class="modal fade" style="font-weight: normal;"> 
    <div class="modal-dialog"> 
      <div class="modal-content"> 

      </div> 
    </div> 
</div> 
<?php require 'style/footer.php' ?> 

<!-- Script Part --> 
<script type="text/javascript"> 
    $('.modalButton').click(function(){ 
     var bicc = $(this).attr('data-bicc'); 
     $.ajax({url:"modal/ajax_ext_risk_modal_edit.php?bicc="+bicc,cache:false,success:function(result){ 
      $(".modal-content").html(result); 
     }}); 
    }); 
</script> 

Nun ist die "modal/ajax_ext_risk_modal_edit.php" Datei:

<?php 
$bicc = $_GET['bicc']; 
//DB connect settins 
require '../core/db_connect.php'; 
$query = "SELECT * "; 
$query .= "FROM ext_work_risk WHERE bicc='$bicc'"; 
$result = sqlsrv_query($dbhandle, $query); 
$fetch = sqlsrv_fetch_array($result); 
?> 
    <!-- Modal --> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Edit Co-Worker</h4> 
     </div> 
     <div class="modal-body"> 
     <p>To edit just type the new date in the format <b>YYYY/MM/DD</b> and click save. 
      <form class="form-horizontal" role="form" method="POST" action="../core/process_ext_risk_modal.php"> 
       <div class="form-group"> 
       <label class="control-label col-sm-4">BI/CC:</label> 
       <div class="col-sm-7"> 
        <input class="form-control" id="bicc" name="bicc" readonly="readonly" value="<?php echo $fetch['bicc']; ?>"> 
       </div> 
       </div> 
       <div class="form-group"> 
       <label class="control-label col-sm-4">Name:</label> 
       <div class="col-sm-7"> 
        <input class="form-control" id="name" readonly="readonly" value="<?php echo $fetch['name']; ?>"> 
       </div> 
       </div> 
       <div class="form-group"> 
       <label class="control-label col-sm-4">Sup. Number:</label> 
       <div class="col-sm-7"> 
        <input class="form-control" id="supplier_number" readonly="readonly" value="<?php echo $fetch['supplier_number']; ?>"> 
       </div> 
       </div> 
      <div class="form-group"> 
      <label class="control-label col-sm-4">LOTO:</label> 
      <div class="col-sm-7"> 
       <input class="form-control" id="loto" name="loto" <?php $loto = $fetch['loto']->format('Y/m/d'); if ($loto == "2000/01/01") {echo "placeholder='Please insert date'";} else {echo "value='$loto'";} ?>> 
      </div> 
      </div> 
       <div class="form-group"> 
       <label class="control-label col-sm-4">Lift Platform:</label> 
       <div class="col-sm-7"> 
        <input class="form-control" id="lift_platform" <?php $lift_platform = $fetch['lift_platform']->format('Y/m/d'); if ($lift_platform == "2000/01/01") {echo "placeholder='Please insert date'";} else {echo "value='$lift_platform'";} ?>> 
       </div> 
       </div> 
      </form> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      <button type="button" class="btn btn-default btn-success" type="submit" name="submit" value="Submit">Save</button> 
     </div> 

Als ich Schaltfläche Speichern nichts getroffen passiert. Hier ist die ../core/process_ext_risk_modal.php Datei:

<?php 
include("db_connect.php"); 
if(isset($_POST["save"])) { 
    $id = $_POST['bicc']; 
    $data = $_POST['loto']; 
    if(sqlsrv_query($dbhandle, "update ext_work_risk set loto='$data' where bicc='$id'")) 
    echo 'success'; 
} 
?> 

Diese letzte Datei ist nur zum Testen natürlich werde ich aktualisiert werden einreichen viel mehr Daten auf dem Formular.

Danke

+0

Submit-Eingabe ist außerhalb des Formulars und mit dem falschen Namen Attribut –

+0

Ja danke Ich konnte nicht senden außerhalb des Formulars zu erhalten. Ich habe das gerade behoben. Aber ich kann nicht verstehen, was Sie mit falschem Namensattribut meinen. – rgomez

+0

Denke ich hab es verstanden, du meinst das 'if (isset ($ _ POST [" save "]))', muss es 'if (isset ($ _ POST [" submit "]))' sein. Ich habe das gerade geändert, aber es funktioniert immer noch nicht. – rgomez

Antwort

1

Ich habe gerade das Problem dank Fred -ii Tipps:

hier ist also der vorherige Codeblock:

</form> 
</div> 
<div class="modal-footer"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    <button type="button" class="btn btn-default btn-success" type="submit" name="submit" value="Submit">Save</button> 
</div> 

Und nun die korrigierte ein:

</div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button class="btn btn-default btn-success" type="submit" name="submit" value="Submit">Save</button> 
    </div> 
</form> 

Auch Änderung if(isset($_POST["save"])) bis if(isset($_POST["submit"])). Das Hauptproblem besteht darin, ein externes Formular zu senden und zwei Typen, die auf derselben Schaltfläche definiert sind.

Verwandte Themen