-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()なしで動作するかは、フォームが通常のフォームのようにサブジェクト以外の方法で送信されることです。 – jannej