Добрый день, кто подскажет, имеется форма с кнопкой отправить, имеется 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>
Но есть нюанс, как решить не могу понять.
-- Всё отправляет когда человек сделал действия, но если он захочет ещё раз обновить страницу, то отправляется ещё раз одно и то же.
Вот хочу решить этот вопрос, чтоб после отправки, больше когда он перезагружал страницу, больше не отправлялось. Как подойти к этому вопросу?