我有一個由php函數生成的表,其中每行都包含一個Action Button,它實際上是一個包含隱藏數據的表單。當我點擊操作按鈕時,我希望能夠將來自隱藏輸入值的數據傳遞給AJAX調用。目標正確的表單輸入值,同時在同一頁上使用多個表單-PHP AJAX JQUERY
這是我到目前爲止有:(這個當前代碼是從第1形式,如果用戶點擊第二個表單操作按鈕,選擇數據無論)包含窗體
<table class="table">
<thead>
<tr>
<th>Card Type</th>
<th>Name on Card</th>
<th>Number</th>
<th>Expires</th>
<th>CVC</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>VISA</td>
<td>testname testlname</td>
<td>xxxxxxxxxxxx9999</td>
<td>12/15</td>
<td>123</td>
<td>
<form method="post" class="scc">
<input type="hidden" value="VISA" name="scc_ccType1" id="scc_ccType1">
<input type="hidden" value="testname testlname" name="scc_ccOwner1" id="scc_ccOwner1">
<input type="hidden" value="4444777711119999" name="scc_ccNumber1" id="scc_ccNumber1">
<input type="hidden" value="12" name="scc_ccExpiresMt" id="scc_ccExpiresMt">
<input type="hidden" value="15" name="scc_ccExpiresYr" id="scc_ccExpiresYr">
<input type="hidden" value="123" name="scc_ccCVC1" id="scc_ccCVC1">
<input type="submit" value="Select Card" name="select_scc" id="select_scc">
</form>
</td>
</tr>
<tr>
<td>VISA</td>
<td>testname testlname</td>
<td>xxxxxxxxxxxx1111</td>
<td>12/15</td>
<td>123</td>
<td>
<form method="post" class="scc">
<input type="hidden" value="VISA" name="scc_ccType1" id="scc_ccType1">
<input type="hidden" value="testname testlname" name="scc_ccOwner1" id="scc_ccOwner1">
<input type="hidden" value="4444555566661111" name="scc_ccNumber1" id="scc_ccNumber1">
<input type="hidden" value="12" name="scc_ccExpiresMt" id="scc_ccExpiresMt">
<input type="hidden" value="15" name="scc_ccExpiresYr" id="scc_ccExpiresYr">
<input type="hidden" value="123" name="scc_ccCVC1" id="scc_ccCVC1">
<input type="submit" value="Select Card" name="select_scc" id="select_scc">
</form>
</td>
</tr>
</tbody>
</table>
表
jQuery代碼
<script defer="defer" type="text/javascript">
$(document).ready(function() {
$("#select_scc").live("click", function() {
var postData = {
'authorize' : 2 ,
'cc_type' : $("#scc_ccType1").val(),
'cc_number' : $("#scc_ccNumber1").val(),
'cc_expdate_month' : $("#scc_ccExpiresMt").val(),
'cc_expdate_year' : $("#scc_ccExpiresYr").val(),
'cc_security_code' : $("#scc_ccCVC1").val(),
'owner' : $("#scc_ccOwner1").val(),
};
$.ajax({
url: "<?php echo base_url().'admin/creditcard';?>",
type:'POST',
data: postData,
dataType: 'json',
success: function(scard){
alert(scard);
}
});
return false;
});
});
</script>
不是最完美的解決方案,而是改變你的形式之一,一個標識ID必須是唯一的,並且不能在同一文檔中使用兩次。然後只需添加第二個ID所需的JS。另外,如果使用jQuery 1.7+ .live()已被棄用,應該用.on()替換,並且取決於您打算做什麼,您應該可以.serialize()您的表單而不是現在正在做的事情。 – adeneo 2012-03-04 17:48:06
我不會在該頁面的任何位置以純文本格式輸入信用卡號碼或CVC代碼。這應該只從數據庫中查詢,後者有希望加密。 – 2012-03-04 17:57:51
感謝評論,這爲後端,所有數據都加密,將ID更改爲類,這是我的一個錯誤。如何在序列化後推送新的數組鍵和值? – 2012-03-04 18:36:43