2016-06-16 4 views
0

Я использую JQuery-steps.js,JQuery-шаги: отключить кнопку отправки, когда форма будет занесена

Я хочу, чтобы отключить кнопку отправки, когда некоторые один щелчок по представить, и не активировать его до тех пор, форма Отправлено.

Причина в том, что если кто-то нажмет на меня отправить много раз, я получаю много писем!

Примечания: мой HTML файл не содержит кнопку отправки, оно показывает только из файла JS, что я включать сильфон

и мой JS файл выглядеть следующим образом.

$(function() { 
    $("#smart-form").steps({ 
     bodyTag:"fieldset", headerTag:"h2", bodyTag:"fieldset", transitionEffect:"slideLeft", titleTemplate:"<span class='number'>#index#</span> #title#", labels: { 
      finish: "Send søknad", next: "Neste", previous: "Tilbake", loading: "Laster..." 
     } 
     , onStepChanging:function(event, currentIndex, newIndex) { 
      if(currentIndex>newIndex) { 
       return true; 
      } 
      var form=$(this); 
      if(currentIndex<newIndex) {} 
      return form.valid(); 
     } 
     , onStepChanged:function(event, currentIndex, priorIndex) {} 
     , onFinishing:function(event, currentIndex) { 
      var form=$(this); 
      form.validate().settings.ignore=":disabled"; 
      return form.valid(); 
     } 
     , onFinished:function(event, currentIndex) { 
      var form=$(this); 
      $(form).ajaxSubmit({ 
       target:'.result', beforeSubmit:function() {} 
       , error:function() {} 
       , success:function() { 
        $('.alert-success').show().delay(7000).fadeOut(); 
        $('.field').removeClass("state-error, state-success"); 
        if($('.alert-error').length==0) { 
         $('#smart-form').resetForm(); 
         reloadCaptcha(); 
        } 
       } 
      } 
      ); 
     } 
    } 
+0

Ваш HTML не может содержать кнопку отправки но вы можете выбрать его с помощью селекторов jquery и узнать родительский элемент – easymoney202

+0

спасибо, как это сделать? – Marvos

+0

На вашей странице щелкните правой кнопкой мыши кнопку отправки (или область рядом с ней) и проверьте элемент. Появится окно разработчика и переместится в ближайший контейнер. Оттуда вы можете посмотреть идентификаторы. Если вам нужна помощь, вставьте то, что вы видите вокруг кнопки отправки – easymoney202

ответ

0

Это может быть немного общий (и я не проверял), но вы можете получить начали

$(document).find('input[type="submit"').prop('disabled', 'disabled'); 
+0

не работал в моем случае, спасибо любым способом – Marvos

0

После первой линии $(function() { добавить:

var isFinishing = false; 

В поле onFinished изменить значение этой строки:

var form=$(this); 

для:

if (isFinishing) return; 

isFinishing = true; 
var form=$(this); 

Если success событие вызова AJAX не перезагрузить страницу, вы должны рассмотреть, добавив следующую строку в этой функции:

isFinishing = false; 
+0

не работал в моем случае, спасибо любым способом – Marvos

+0

Возможно, кнопка «не» кнопка. Можете ли вы проверить эту кнопку «отправить» и проверить, что это за ее HTML? –

+0

кнопка создается на js-файле, а не на html, я не вижу его в html-файле, но когда я проверяю элемент, я получаю это \t Send søknad Marvos

Смежные вопросы