-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