@ART4

После обновления браузера не отправлял данные?

Добрый день, кто подскажет, имеется форма с кнопкой отправить, имеется js код.
JS код обрабатывает форму без перезагрузки страницы ajax и отправляет данные через 1 секунду.
JS
$(document).ready(function(){
    $("#form").submit(function() {
        var form_data = $(this).serialize();
        $.ajax({
        type: "POST",
        url: "api.php",
        data: form_data
      }); 
    });
setTimeout(function(){
  $("#button").trigger('click');
}, 1000);
});

Форма сама выглядит вот так:
<form id="form" action="javascript:void(null);" method="post" style="display: none;">
   {assign var="num" value="0"}
  {foreach $purchases as $purchase} 
    <input type="text" name="data1[{$num+1}]" value="{$purchase->variant->sku|escape}">
   {assign var="num" value=$num+1}
 {/foreach} 	
  
   {assign var="num" value="0"}
   {foreach $purchases as $purchase} 
    <input type="text" name="data2[{$num+1}]" value="{$purchase->amount}">
   {assign var="num" value=$num+1}
   {/foreach} 
    <input type="text" name="data3" value="{$order->name|escape}">
    <input type="text" name="data4" value="{$order->phone|escape}">
    <input type="text" name="data5" value="{$order->address|escape}">
    <input type="text" name="data6" value="{$order->comment|escape|nl2br}">
    <input type="text" name="data7" value="{$order->date|time}">
    <input type="submit" id="button" value="Отправить">
</form>


Но есть нюанс, как решить не могу понять.
-- Всё отправляет когда человек сделал действия, но если он захочет ещё раз обновить страницу, то отправляется ещё раз одно и то же.
Вот хочу решить этот вопрос, чтоб после отправки, больше когда он перезагружал страницу, больше не отправлялось. Как подойти к этому вопросу?
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
lamer350
@lamer350
กำลังสูงสุด
setTimeout(function(){
  $("#button").trigger('click');
}, 1000);

Вы же сами при загрузке документа отправляете форму инициировав клик по кнопке "отправить".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы