Отправить на вход флажка в зависимости от диалогового окна подтверждения

У меня есть несколько строк, где каждая строка является формой с флажком aa. Я пытаюсь пропустить форму в зависимости от некоторых данных относительно идентификатора объекта, отображаемого в строке.

каждая форма выглядит так:

<!--?php foreach ($tables as $table): ?-->
 
 <!--?php echo $table--->get_id(); ?>
 <form method="POST" action="/kviberg/admin/sparabord">
 
 
 <span>
 <!--?php if($table--->get_available() == 1) echo "Yes"; else echo "No"; ?>
 </span>
 get_available() == 1) echo "checked"; ?>>
 
 </form>
<!--?php endforeach; ?-->

функция:

function confirm_unavailable_table(form) {
 event.preventDefault(); <--- ERROR
 var id = form.table_id.value;
 $.ajax({
 type: "POST",
 cache: false,
 url: "/kviberg/views/ajax_check_availability.php", 
 data: {id : id},
 dataType: "json",
 success: function(data) {
 if(data.res_id > 0) {
 if(confirm("There are no reservations (reservations id: " + data.res_id + ").\nDo you want to continue?"));
 form.submit();
 }
 }
 else if(data.sub_id > 0) {
 if(confirm("There are subscriptions (prenumerations id: " + data.sub_id + ").\nDo you want to continue?")) {
 form.submit();
 }
 }
 else if(data.sub_id == 0 && data.res_id == 0) {
 form.submit();
 }
 },
 error: function(data) {
 console.log("error on data");
 console.log(data);
 }
 });
}

Прямо сейчас форма никогда не отправляется через вызов ajax. Это связано с асинхронным поведением?

1 ответ

Форма отправляется, она не меняет значения из-за event.preventDefault(); - это предотвращает изменение флажка в состоянии проверки.

licensed under cc by-sa 3.0 with attribution.