давай еще раз для каждого поля добавить переменную сессии или одно поле скрытое с хешем которое будем проверять?
Касательно исходного поста, разве нельзя добавить переменную Код (Javascript): canSend = true; , а потом в onclick или где там отсыльщик, сделать так: Код (Javascript): if (canSend) { canSend = false; // тут остальные пертурбации } Не верю я, что такая проверка дубль пропустит. И, если там не просто onclick, а onsubmit, везвращать false ещё.
знаю что работает, но мне не так нужно, вот допустим пользователь допустил в двух полях ошибку, а кнопка заблокировалась, и чтобы отправить форму нужно обновить страницу и опять же заполнить все поля все заново, а если опять допустил ошибку, а кнопка уже заблокирована, что же делать. А вот добавь еще проверку поля что его обязательно заполнять, проверь empty($_POST['"qwe']) --- Добавлено --- ты показал элементарную проверку, покажи пример вместе с ajax запросом как он работать будет, спасибо.
Кому еще интересно привожу пример своего js скрипта который отвечает за отправку формы, а далее если есть желание помучать себя сделать так чтобы он блокировал отправку повторную попробуйте исправить, спасибо: Спойлер: тыкни сюда Код (Javascript): $('body').on('submit', 'form', function(e) { // блокируем кнопку при отправке формы ( моя попытка предотвратить отправку ) // $('input[type=submit]', $(this)).prop( 'disabled', true ); e.preventDefault(); // отменяем действие по умолчанию (отправку формы) $('.errorPanel').remove(); // очищаем вывод error $('.successPanel').remove(); // очищаем вывод success // объявим переменную для хранения объекта представляющего данные HTML формы var form = $('form')[0]; var formData = new FormData(form); $.ajax({ url: $(this).attr('action'), type: $(this).attr('method'), data: formData, contentType: false, processData: false, dataType: 'json', success: function(json) { // если json.error не равен undefined выводим ошибки (сообщения) if (json.error != undefined) { $('.msg').prepend('<div class="errorPanel alert alert-danger alert-dismissible"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' + json.error + '</div>'); } // если elements не равен undefined, переходим к след. проверке if (json.elements != undefined) { // если elements.success не равен undefined выводим сообщение об удачном выполнении if (json.elements.success != undefined) { // prepend - html, который будет добавлен в начало выбранных элементов. $('.msg' ).prepend( '<div class="successPanel alert alert-success alert-dismissible"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' + json.elements.success + '</div>'); } // если elements.url не равен undefined редиректим после удачного выполнения success через 2 сек. if (json.elements.url != undefined) { setTimeout(function() { window.location.href = json.elements.url; }, 2000 ); } } // если json.url не равен undefined редиректим на нужную страницу if (json.url != undefined) { window.location.href = json.url; } } // end success }); // end $.ajax({ }); // end function Может вы подставите свои данные проверки, которые у вас работают, а я погляжу, спасибо.