Как использовать плагин jquery в asp.net mvc 5 нажмите кнопку просмотра

Я просто новичок в программировании, поэтому, пожалуйста, будьте осторожны.

Я работаю с Visual Studio Community 2015 года выпуска. Мой проект использует стандартный шаблон решения asp.net MVC 5. У меня есть форма ввода визуальной студии, которая включает кнопку создания.

У меня возникла проблема при попытке остановить несколько отправок формы из-за двойного щелчка.

Я пытался реализовать решение, опубликованное в stackru, несколько лет назад, но после двух дней попыток я не продвинулся дальше.

Решение включает в себя использование следующего плагина jquery (должен признать, что пока мало что знаю о Java!)

Этот код плагина jquery, который я хочу использовать, приведен ниже и взят из этого оригинального поста.

Запретить двойную отправку форм в jQuery

jQuery.fn.preventDoubleSubmission = function() {
  $('input[type="submit"]').data('loading-text', 'Loading...');

  $(this).on('submit',function(e){
    var $form = $(this);

    $('input[type="submit"]', $form).button('loading');

    if ($form.data('submitted') === true) {
      // Previously submitted - don't submit again
      e.preventDefault();
    } else {
      // Mark it so that the next submit can be ignored
      $form.data('submitted', true);
      $form.setFormTimeout();
    }
  });

  // Keep chainability
  return this;
};

jQuery.fn.setFormTimeout = function() {
  var $form = $(this);
  setTimeout(function() {
    $('input[type="submit"]', $form).button('reset');
    alert('Form failed to submit within 30 seconds');
  }, 30000);
};

* /

Проблема, с которой я сталкиваюсь, заключается в том, как развернуть плагин jquery в моем проекте, а затем как его вызвать, когда кто-то нажимает кнопку "Создать".

Я попытался поместить плагин непосредственно в виде страницы, а также в виде файла javascript в папку сценариев, но все еще не могу вызвать функцию, чтобы предотвратить двойное представление.

Я пытаюсь вызвать функцию, используя свойство onclick кнопки, но просто не могу заставить ее работать. У кого-нибудь есть память о предыдущем решении и как реализовать его в ASP.NET MVC 5 cshtml view нажатием кнопки?

(Где я могу разместить код плагина и как его вызвать с помощью кнопки "Создать")

Большое спасибо

1 ответ

Используйте этот код на стороне jquery, чтобы предотвратить двойной щелчок

$(document).on('submit', 'form', function () {
        var button = $(this).find('input[type="submit"]');
        setTimeout(function () {
            button.attr('disabled', 'disabled');
        }, 0);
    });

Если не действителен после публикации вашей формы и проверки после

//disabled Multiple Click Event on form
    $(document).on('invalid-form.validate', 'form', function () {
        var button = $(this).find('input[type="submit"]');
        setTimeout(function () {
            button.removeAttr('disabled');
        }, 1);
    });
Другие вопросы по тегам