2017-05-21 58 views
1

那麼,我有一個表生成器,與MySQL數據庫。有語法錯誤,但不知道在哪裏

首先,代碼:

PHP

while($result = mysqli_fetch_assoc($SQL)){ 
      $tbl->addCell("<p onBlur = 'editTable(" . $result['id_user'] . ", this, 'Name')' contentEditable = 'true'>" . $result['Name'] . "</p>"); 
      $tbl->addCell("<p onBlur = 'editTable(" . $result['id_user'] . ", this, 'Username')' contentEditable = 'true'>" . $result['Username'] . "</p>"); 
      $tbl->addCell("<p onBlur = 'editTable(" . $result['id_user'] . ", this, 'Email')' contentEditable = 'true'>" . $result['Email'] . "</p>"); 
      $tbl->addCell("<p onBlur = 'editTable(" . $result['id_user'] . ", this, 'Grade')' contentEditable = 'true'>" . $result['Grade'] . "</p>"); 
      $tbl->addCell("<input type = 'button' class = 'Edit-TBB' value = 'Edit'> 
      <input type = 'button' class = 'Delete-TBB' value = 'Delete'>"); 
      $tbl->addRow(); 
     } 

AJAX

function editTable(id, new_text, column) { 
      $.ajax({ 
       url: "../PHP/Configuracion/edit_grade.php", 
       type: "POST", 
       data: 'id='+id+'&text='+new_text.innerText, 
       success: function(data){ 
        alert(column); 
       } 
      }); 
     } 

這裏的問題是:

我有這個'editTable(" . $result['id_user'] . ", this, 'Name')'

​​

如果我在Chrome中更改代碼像this ......它的工作原理,但我不知道我需要在代碼編輯器來改變。

我需要改變什麼?

謝謝!

+0

嘗試在HTML中使用雙引號的onblur價值,像你這樣,通過與他們逃脫「\」。 – georgiaboy82

回答

0

由於您使用單引號將js字符串表示爲參數,因此您必須使用雙引號表示onBlur值。要做到這一點,你需要在你的php中使用雙引號。因此,改變addCell電話的樣子:

addCell("<p onBlur=\"editTable(" . $result['id_user'] . ", this, 'Name')\" contentEditable = 'true'>"); 
+1

感謝所有兄弟! –