簡體   English   中英

多個實例時使用PHP AJAX更新表記錄

[英]Update table record using PHP AJAX when multiple instances

在我的頁面上,我有多種與此相同的表格...

<form class='bill-upd'>
   <input type='hidden' value='".$info['rand']."' name='rand2' id='rand2'>
   <input type='hidden' value='".$info['id']."' name='billid' id='billid'>
   Total <input type='text' id='total' name='total' /><br />
   Bill name<input type='text' id='bill-name' name='bill-name' /><br />
   bill descriptiion <input type='text' id='bill-description' name='bill-description' /><br />
   bill colour<input type='text' id='bill-colour' name='bill-colour' />
   <input type='button' value='submit' onClick='updateBill();' />
</form>  

然后我也有我的AJAX

function updateBill()
{
    $.post('update_bill.php', $('.bill-upd').serialize(), 
        function(data) {
        $(this).append(data);
    });
};

如果我的頁面上有一種表單,則可以正常工作,但是當有多個實例時,我的同一條記錄將被覆蓋,有人可以告訴我即時出現問題的地方嗎?

謝謝


在@Armatus和@Bricriu的幫助下,我對它進行了排序,標記為的答案有效,但愚蠢地忘記了將其包裝在document.ready中。

您需要一種方法來指定要更新的帳單,否則就需要全部處理。 這應該起作用,因為我們可以通過單擊哪個按鈕來確定是哪個按鈕。

編輯:我個人將使用jQuery而不是onClick綁定元素本身:

$(".bill-upd input:submit").click(function(){
    var elem = $(this);
    $.post('update_bill.php', elem.parent('.bill-upd').serialize(), 
        function(data) {
        elem.append(data);
    });
});

如果其他形式具有相同的.serlialize() .bill-upd類,則javascript .serlialize()也將從它們中獲取值。 確保其他表單具有備用類。

最好是給您一個唯一的ID,例如id="billform" ,然后用$('#billform').serialize()替換$('.bill-upd').serialize() $('#billform').serialize()

希望這可以幫助。

編輯:

用這個:

$(this).parent('.bill-upd').serialize() 

序列化被單擊的父項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM