2016-11-17 30 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看看发生了什么。但是您应该查看视频以了解如何调试。 –