这是我的简单形式:
<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 :(得分:1)
使用.each()
浏览所有表单名称并发现该表单被称为templates
(复数),尽管之前很多重新加载我将其更改为template
。模板系统中的某些东西实际上是缓存了部分代码,清除模板缓存解决了这个问题。
所有JS现在都可以正常运行而无需修改。