Когда форма отправляется, иногда, когда пользователи ждут, они могут нажать кнопку отправки более одного раза. Это может привести к дублированию представлений.
Во-первых, мы отключим кнопку отправки, когда форма действительна.
$('form').submit(function() { if ($(this).valid()) { $(this).find('button[type="submit"]').prop('disabled', true); } });
Мы можем сделать его более красивым, если добавим загрузчик во время ожидания пользователя. В качестве загрузчика в этом примере я использовал FontAwesome Fonts 4.7.
$('form').submit(function () { if ($(this).valid()) { $(this).find('button[type="submit"]') .prop('disabled', true) .attr('style', 'background:none;border:none;') .html('<i class="fa fa-spinner fa-spin"></i>'); } });
Эта функция уже установлена в этой стартовой теме Orchard CMS.
Первоначально опубликовано на https://orchardtricks.dotnest.com.