以下是我正在嘗試執行的操作:單擊單選按鈕時,我想更新表單中的某些值,並且只有在這些值更新後,纔會提交整個形式。我遇到的問題是,在更新值之前提交表單。在jQuery完成之前提交表單修改表單中的值
這是我目前(非工作)執行:
<div class="btn-group" data-toggle="buttons">
<label id="label_radio_2_78" class="btn btn-info btn-sm checkbox-padding ">
<input onchange="update_transaction(78)" id="radio_2_78" name="ledger_id" value="2" type="radio">
BR
</label>
<label id="label_radio_3_78" class="active">
<input onchange="switch_ledgers(78, 3)" id="radio_3_78" checked="checked" name="ledger_id" value="3" type="radio">
HP
</label>
</div>
function switch_ledgers(transactionId, ledgerId)
{
deactivate_radio(transactionId, ledgerId).done
(
update_transaction(transactionId)
);
}
//checks if the clicked radio buttion is active, if so it unchecks it.
function deactivate_radio(transactionId, ledgerId)
{
var cb = $('#radio_' + ledgerId + '_' + transactionId + ':checked');
var r = $.Deferred();
if(cb)
{
cb.prop('checked', false);
$('#label_radio_' + ledgerId + '_' + transactionId).removeClass('active');
}
return r.resolve();
}
//Submits the form, this function gets called too quickly
function update_transaction(transactionId)
{
var form = $("#transaction_" + transactionId);
$.ajax({
type: form.attr('method'),
data: form.serialize(),
url: form.attr('action')
}).done(function()
{
update_balance();
update_total_balance();
});
}
我希望我足夠清楚我想要做什麼。
謝謝!
很好的解釋,謝謝!我對前端開發還很陌生,所以你的建議非常有幫助。 – user1870238
酷!樂意協助。 –