Как использовать плагин 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);
});