0
看來我有一個jQuery ajax表單的問題,它始終發送相同的值,儘管表單字段顯示爲空。因此,我認爲jQuery是「緩存」或不覆蓋我定義的變量。jQuery ajax對話不斷髮送相同的值
function payment(projectID, billID)
{
$.ajax
({
url: 'modules/projects/projectFinancial.php?action=paymentDetails&projectID=' + projectID + '&billID=' + billID + '&rand=' + Math.random(),
dataType: 'html',
async: false,
success: function(msg)
{
$("#paymentDetails").html(msg);
}
});
$("#payment").dialog(
{
width: 500,
height: 300,
modal: true,
buttons:
{
Save: function()
{
var paymentAmount = $("#PaymentAmount").val();
var paymentMethod = $("#PaymentMethod").val();
var paymentRemarks = $("#PaymentRemarks").val();
if ($('#PaymentDone').is(':checked'))
{
var paymentDone = 1;
}
else
{
var paymentDone = 0;
}
$.ajax
({
url: 'modules/projects/projectFinancial.php?action=payment&projectID=' + projectID + '&billID=' + billID + '&paymentAmount=' + paymentAmount + '&paymentMethod=' + paymentMethod + '&paymentRemarks=' + paymentRemarks + '&paymentDone=' + paymentDone + '&rand=' + Math.random(),
dataType: 'html',
async: false,
success: function(msg)
{
if (msg != "error")
{
showFinancial(msg, '{/literal}{$marginCalculated}{literal}');
}
}
});
$(this).dialog("close");
}
}
});
}
糟糕,看起來op已經實現了手動。請參閱URL末尾的''&rand ='+ Math.random()'。 –
在函數的開頭聲明變量,稍後更改其值而不聲明(var paymentDone = 0;在if/else中)。如果您登錄/註銷#PaymentDone,您可能會重新聲明您的變量 – pszaba
那麼。我試過緩存:錯誤的建議,這似乎沒有任何效果。我也改變了對話框接近摧毀,這種改變是,當重新打開對話框時,它實際上顯示了我前一次輸入的值,這與dialog.close無關。 我也嘗試將所有值設置爲'',這確實清空輸入字段,但是當提交它時提交空變量,而我按下保存按鈕時獲取值。 – Peter