Запрет отправки формы с помощью jQuery не работает

-1

Это моя простая форма:

<form accept-charset="utf-8" class="form-vertical" id="template" autocomplete="off" name="template" method="POST" action="http://test.dev/templates">
    ...various inputs and HTML here...
    <input class="btn btn-primary" type="submit" value="Update">
</form>

Это мой JS, который не препятствует отправке формы:

<script type="text/javascript">
    (function ($) {
        'use strict';

        $("form#template").on('submit.template', function (e) {
            e.preventDefault();
            console.debug(e.relatedTarget);
            return false;
        });
    }(jQuery));
</script>

Из прошлого опыта это должно помешать отправке формы при нажатии кнопки " Update. Почувствуй, что я пропускаю что-то больно очевидное. Что здесь может быть?

jQuery 2.1.1

  • 0
    Как вы отлаживаете это? Обработчик отправки запущен? Может быть, вам нужно просто использовать обработчик документов в качестве оболочки, например: jQuery(function($){...}); К вашему сведению, ваше заявление на return здесь бесполезно
  • 0
    Скорее всего, этот скрипт не выполняется. Причины разные, но поскольку это встроенный скрипт, он может конфликтовать с заголовком Content-Security-Policy . Это должно быть показано в консоли браузера.
Показать ещё 31 комментарий
Теги:
blade

1 ответ

1

Пробег через все имена форм, используя .each() и обнаружил, что форма была вызвана templates (множественное число), несмотря на то, что многие перезагрузки меня заменили на template. Что-то в системе шаблонов фактически кэшировало эту часть кода, и очистка кеша шаблона разрешила проблему.

Все JS теперь работают без изменений.

  • 0
    Эта тема, вероятно, должна быть закрыта или удалена, так как в конце концов она не стала реальной проблемой JS или jQuery.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню