2016-11-17 59 views
1

我正在嘗試一些非常簡單的東西,但無法使其工作,我不知道爲什麼。我試圖從數據庫加載引導模態窗口的細節,所以我可以編輯它們。我的按鈕看起來像從ajax載入數據庫細節

<button onclick="GetUserDetails('.$row['row_id'].')" class="btn btn-warning">Update</button> 

那麼這是應該加載數據

include("../../misc/database.inc.php"); 


error_reporting(E_ALL); 
ini_set('display_errors', 1); 
$pdo = Database::connect(); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

if(isset($_POST['row_id']) && isset($_POST['row_id']) != "") { 

    $row_id = $_POST['row_id'];     
    $value = $pdo->prepare('SELECT row_id, row_content, row_email FROM excel_table WHERE row_id = ?'); 
    $value->bindParam(1, $id, PDO::PARAM_INT); 
    $value->execute(); 

    $response = array(); 

    if($value->rowCount() > 0){ 
     while ($rs = $value->fetch(PDO::FETCH_ASSOC)) { 
      $response = $row; 

     }     
    } 
    else 
    { 
     $response['status'] = 200; 
     $response['message'] = "Data not found!"; 
    } 
    echo json_encode($response); 
    //var_dump($_POST['row_id']); // return correct id 
} 

在控制檯 - >網絡我看到正確答案PHP的一部分

{ 「ROW_ID」: 「1」,「row_content」:「asd」,「row_email」:「sad」}

這是js部分加載數據

function GetUserDetails(row_id) { 

    $("#row_id").val(row_id); 
    $.post("ajax/readUserDetails.php", { 
      row_id: row_id 
     }, 
     function (data, status) { 
      // PARSE json data 
      var excel_table = JSON.parse(data); 
      // Assing existing values to the modal popup fields 
      $("#row_content").val(excel_table.row_content); 
      $("#row_email").val(excel_table.row_email); 
     } 
    ); 
    // Open modal popup 
    $("#update_user_modal").modal("show"); 
} 

這是我的模式

<div class="modal fade" id="update_user_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title" id="myModalLabel">Update</h4> 
      </div> 
      <div class="modal-body"> 

       <div class="form-group"> 
        <label for="row_content">Desc</label> 
        <input type="text" id="row_content" placeholder="Описание" class="form-control"/> 
       </div> 

       <div class="form-group"> 
        <label for="row_email">Email</label> 
        <input type="text" id="row_email" placeholder="Email" class="form-control"/> 
       </div> 

      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
       <button type="button" class="btn btn-primary" onclick="UpdateUserDetails()" >Save Changes</button> 
       <input type="hidden" id="row_id"> 
      </div> 
     </div> 
    </div> 
</div> 

誰能告訴我,爲什麼模態不填充數據?

+0

是,按鈕提交'ROW_ID:1'和響應'{ 「ROW_ID」: 「1」, 「row_content」: 「ASD」, 「row_email」: 「可悲的」}' –

+0

你調試碼? –

+0

我試過我所知道的。到目前爲止,看看我發送和接收的按鈕點擊。還有什麼我可以調試? –

回答

2

以及我的猜測是你需要顯示ajax異步調用結束後的模態。

function GetUserDetails(row_id) { 

    $("#row_id").val(row_id); 
    $.post("ajax/readUserDetails.php", { 
      row_id: row_id 
     }, 
     function (data, status) { 
      // PARSE json data 
      var excel_table = JSON.parse(data); 
      // Assing existing values to the modal popup fields 

      //add console.log to make sure you have some value 
      console.log('row_content: ' + excel_table.row_content); 

      $("#row_content").val(excel_table.row_content); 
      $("#row_email").val(excel_table.row_email); 

      // then add another to make sure you update it correctly. 
      console.log('#row_content: ' + $("#row_content").val()); 

      // Open modal popup AFTER YOU UPDATE 
      $("#update_user_modal").modal("show"); 
     } 
    );  
} 
+0

同樣的結果。在控制檯中的數組響應是正確的{row_id:「1」,row_content:「asd」,row_email:「sad」}'但模態是空的 –

+0

我沒有提到它,但我使用本教程,我已經改變了它因爲我想實現pdo ...等:http://www.itechempires.com/2016/03/php-mysql-crud-create-read-update-delete-operations-using-jquery/ –

+0

嘗試與console.log看看發生了什麼。但是您應該查看視頻以瞭解如何調試。 –