Показать сообщение отдельно
  #2 (permalink)  
Старый 06.07.2015, 00:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

imedia,
1. Я бы не стал ставить кнопку submit в форму, а поставил бы
<button id="sub" type="button">Отправить</button>

И поставил бы вместо .on('submit', function(e){
$('#sub').click(function(){
2. Достаточно часты попытки нажать кнопку(submit или button) несколько раз, - ставить на данное событие флаг и проверять на входе события - если установлен - проваливаемся в return;
Если нет - устанавливаем флаг и отправляем аяксом, далее добавляем функцию завершения отправки Аяксом, где и сбрасываем флаг(можно с секундной задержкой, дабы наверняка два раза не кликали,
3. При отправки аяксом выводить гифку работы uloads и удалять по завершении Аякса и сбросу флага
==================
Нафига вот эта фигня ?
Цитата:
.on('click', function () {
32 $('#my_form').submit();
33 }) ;
Если именно тут и нун вставить функцию обработки и отправки формы аяксом ? ajaxFormSubmit()

var busy = false
function ajaxFormSubmit(){
       if(busy) return false;
        busy = true;
        var $that = $('#my_form'),
        formData = new FormData($that.get(0));
        formData.append('date_upl', new Date()); // добавляем данные, не относящиеся к форме. У нас - это дата
        $.ajax({
          url: $that.attr('action'),
          type: $that.attr('method'),
          contentType: false,
          processData: false,
          data: formData,
          dataType: 'json',
          success: function(json){
            if(json){
              $that.replaceWith(json);
            }
            setTimeout(function(){busy = false;},1000);
          }
       });
     
}

Последний раз редактировалось Deff, 06.07.2015 в 00:53.
Ответить с цитированием