我在我的php應用程序中使用X-Editable插件來更新我的表的字段並使用POST文件來更新數據庫。X-editable不更新數據庫中的值
這裏是表單代碼:
<table id="restaurant" class="table table-bordered table-striped">
<tbody>
<?php
echo '
<tr>
<td style="width:15%">Restaurant name</td>
<td style="width:50%"><a href="#" id="name" data-type="text" data-pk="'. escape($arrValues[$i]->r_id) .'" data-name="name" data-placeholder="Required" data-original-title="Enter Restaurant Name" class="editable editable-click" style="display: inline;">'. escape($arrValues[$i]->name) .'</a></td>
<td style="width:35%"><span class="text-muted">Enter restaurant name.</span></td>
</tr>';
?>
</tbody>
</table>
這裏是X-編輯JS我使用在頁面的底部:
<script>
jQuery(document).ready(function() {
//initializes all global values and plugin essentials
FormEditable.init();
//below function is only initialized on one field for debug purposes
$(function(){
$('#name').editable({
url: 'post.php'
});
});
});
</script>
這裏是我的post.php中文件的內容:
<?php
require 'core/init.php';
$pk = $_POST['pk']; //primary key aka ID
$name = $_POST['name']; //name of the field
$value = $_POST['value']; //value of the field
if (!empty($value)){
$result = mysql_query('update Restaurants set '.mysql_escape_string($name).'="'.mysql_escape_string($value).'" where r_id = "'.mysql_escape_string($pk).'"');
print_r($_POST);
} else {
header('HTTP 400 Bad Request', true, 400);
echo "This field is required!";
}
?>
當我更新應用程序中的字段時,值在DOM中被更改,但值未更新在數據庫中。 這是我第一次使用X-Editable插件,在JS AJAX調用中我不是很強大。有人可以讓我知道我該如何調試,並找出爲什麼我的價值沒有被推到數據庫。
任何幫助將不勝感激。
謝謝你的迴應。我像前面提到的那樣添加了AJAX選項,並在瀏覽器中查看了控制檯和網絡選項卡。我從Post.php頁面獲得了200個響應,但該值在數據庫中仍未更新。我在Post.php頁面的$ _POST上回顯var_dump,但是我得到一個空數組。看來我沒有發送任何數據到Post.php頁面。我認爲JS在我點擊提交按鈕時沒有發送數據。 – Anton
我已經在JsFiddle上重新創建了您的示例作爲演示:http://jsfiddle.net/hq7yH/5/當它們發送到post.php時,您能看到控制檯中的值嗎?您也可以檢查您的$ arrValues是否正確插入到HTML中。 –
添加了顯示值的控制檯屏幕截圖:http://i.imgur.com/r5UcFHr.jpg –