-1
我有一些應該做檢查,然後提交表單的jQuery代碼的問題。表單不提交發布數據
問題是,如果total_hours_for_payperiod
小於40,表單會提交,但不會提交任何發佈數據。當我嘗試在PHP中使用發佈數據時,我無法使用。
注意:它可以工作,如果我刪除event.preventDefault();
!但我需要這條線,因爲我的功能是異步的!
任何人都可以幫助我嗎?
$("#form_add_entry").submit(function(event) {
event.preventDefault();
var data = $(this).serialize();
$.ajax({
type: "POST",
dataType: "text",
url: "<?=site_url('timesheet/get_hours_for_current_payperiod/')?>",
cache : false,
data: {data: data},
success: function(resp) {
var a = parseInt(JSON.parse(resp));
var entry_hours = parseInt($("#form_add_entry").find('#totalhours').val())
var total_hours_for_payperiod = entry_hours + a
if (total_hours_for_payperiod > 40) {
$('#biweeklystaffopenovertime').find('#total_remaining').html(total_hours_for_payperiod - 40)
$("#addbiweeklytime").modal('hide');
$("#biweeklystaffopenovertime").modal('show');
} else {
// Post data isn't submitting, but the form does submit
$("#form_add_entry").unbind().submit();
}
}
});
});
檢查var data = $(this).serialize();的結果。這可能是你有你的問題。爲什麼它沒有event.preventDefault()可以工作,表單是提交像一個常規的形式,非Ajax方式。 – jannej