Это моя простая форма:
<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
Пробег через все имена форм, используя .each()
и обнаружил, что форма была вызвана templates
(множественное число), несмотря на то, что многие перезагрузки меня заменили на template
. Что-то в системе шаблонов фактически кэшировало эту часть кода, и очистка кеша шаблона разрешила проблему.
Все JS теперь работают без изменений.
jQuery(function($){...});
К вашему сведению, ваше заявление наreturn
здесь бесполезноContent-Security-Policy
. Это должно быть показано в консоли браузера.