我有一個表,我試圖添加內聯編輯,但我真的是新的Ajax。 JQuery代碼本身起作用,我可以看到td正在變成輸入字段,但我在發佈數據時遇到了麻煩。Ajax不發佈內聯表編輯
當我從表格td點擊離開時,我試圖編輯它,假設發佈數據。但是當我這樣做並刷新頁面時,生成的表格不會更新,也不會看到數據庫中的更改。它不顯示錯誤,它只刷新頁面。
projectlist數據庫表
projectid | Klant
4 | mike
12 | peterson
PHP
while($row = mysql_fetch_array($resultaat, MYSQL_ASSOC)){
$id = $row['projectid'];
<tr id="<?php echo $id ?>" class="tredit">
<form action="" method="post">
<td>
<span id="klant_<?php echo $id ?>" class="text"><?php echo $row["Klant"] ?></span>
<input type="text" class="ip" id="klant_ip_<?php echo $id ?>" value="<?php echo $row["Klant"] ?>">
</td>
</form>
</tr>
}
阿賈克斯
$(document).ready(function(){
$(".tredit").click(function(){
var ID=$(this).attr('id');
$("#klant_"+ID).hide();
$("#klant_ip_"+ID).show();
}).change(function(){
var ID=$(this).attr('id');
var first=$("#klant_ip_"+ID).val();
var dataString = 'id='+ ID +'&Klant='+first;
//alert(dataString);
if(first.length > 0){
$.ajax({
type: "POST",
url: "post_table.php",
//data: dataString,
data: dataString,
cache: false,
success: function(html){
$("#klant_"+ID).html(first);
},
error: function (request, error) {
console.log(arguments);
alert(" Can't do because: " + error);
}
});
}else{
alert('Input something');
}
});
$(".ip").mouseup(function() {
return false
});
$(document).mouseup(function(){
$(".ip").hide();
$(".text").show();
});
});
post_table.php
<?php
include('config.php');
$klant = $_POST['Klant'];
$id = $_POST['id'];
$query = "update projectlist set Klant='$klant' where id='$id'";
mysql_query($query, $con);
?>
解決方案
我得到它的工作。它從來沒有發生過我徹底檢查post_table.php
。
where id='$id'
是錯的,它必須是where projectid='$id'
。
什麼不實際工作,在返回的東西?你能看見什麼 ?數據庫沒有填滿? – Cr3aHal0
Ajax請求是否被觸發? –
@ M.M。它似乎並不如此。我在我的問題中添加了更多細節。 – user3095385