2010-02-18 129 views
1

我有一種形式:jQuery的AJAX發佈錯誤的數據

<form id="deletesubmit" style="display:inline" > 
    <input style="width:50px" type="text" id="delcustomerid" name="delcustomerid" value="'.$row['customersid'].'"> 
    <button type="submit" class="table-button ui-state-default ui-corner-all" title="delete"><span class="ui-icon ui-icon-trash"></span></button> 
</form> 

形式獲取客戶ID並將其作爲價值。它顯示正確的客戶對那一排一切都很好。然後當我通過ajax發佈表單時,它發佈了不同行的id。這是腳本:

$("form#deletesubmit").submit(function() { 

    var delcustomerid = $('#delcustomerid').attr('value'); 
    $.ajax({ 
     type: "POST", 
     url: "delete/process.php", 
     data: "delcustomerid=" + delcustomerid, 
     success: refreshTable 
    }); 
    return false; 
}); 
}); 

最後在這裏張貼的形式PHP:

<?php include("../../config/config.php"); ?> 
<?php   
    $deleteid = htmlspecialchars(trim($_POST['delcustomerid'])); 
    mysql_send("DELETE FROM customers where id='$deleteid'"); 
?> 

我測試沒有AJAX,它工作正常。一定有一些缺失。它沒有發佈正確的值。花了幾天的時間試圖解決它。

回答

4

使用attr('value')你拉原值?這可能不是你想要的東西;用.val()而是另外,你可以設置你的電話更容易一些:

$("form#deletesubmit").submit(function() { 
    var delcustomerid = $(this).find('#delcustomerid').val(); 
    $.post("delete/process.php", { delcustomerid: delcustomerid }, refreshTable); 
    return false; 
}); 

最後,確保你的PHP是輸出。通過查看生成的HTML的源代碼找到正確的id

另外,在PHP中:不要用htmlspecialchars來逃脫mysql。由於這應該是一個整數,你可以用int

$deleteid = (int) trim($_POST['delcustomerid']); 
mysql_send("DELETE FROM customers where id='$deleteid'"); 

請記住,一個數組(如果有人通過deleteid[]=此頁)將評估爲1。所以要麼建立一個測試,要麼確保你沒有在表中留下id = 1。

+0

此外,我不相信「數據」格式化的方式將正確運行。 Doug格式化的方式是正確的。 {delcustomerid:delcustomerid} – Buggabill 2010-02-18 20:39:11

+0

感謝您的回覆。添加了你的代碼,問題仍然存在。添加警報(delcustomerid);之前在$ .ajax之前發佈,錯誤的值在post之前設置。 – user272899 2010-02-18 20:39:50

+0

哈哈,我想我可能會知道發生了什麼。嘗試我的更新(只是JS,我沒有更改PHP)。你在單個頁面上使用多種形式嗎? – 2010-02-18 20:51:36

0

到$阿賈克斯({像這樣把一個警報插入到代碼之前:

alert(delcustomerid); 

是後前值是非

+0

新增警示(delcustomerid);是的,發佈前的價值是錯誤的。這是否意味着它是一個形式的問題? – user272899 2010-02-18 20:38:01

2

我只是想建議.val()方法。如果你還沒有安裝螢火蟲。它將允許您準確地查看您發佈到服務器的內容。

+2

提及Firebug +1。偉大的工具! – 2010-02-18 20:38:11