【发布时间】:2016-08-22 13:20:37
【问题描述】:
我有一个引导弹出框元素,里面有一个表单。
我在提交表单时执行preventDefault(),但它实际上并没有阻止提交。
当我不使用弹出框和模态框时,它可以完美运行。
这是我的 HTML:
<div class="hide" id="popover-content">
<form action="api/check.php" class="checkform" id="requestacallform" method="get" name="requestacallform">
<div class="form-group">
<div class="input-group">
<input class="form-control" id="domein" name="name" placeholder="domein" type="text">
</div>
</div><input class="btn btn-blue submit" type="submit" value="Aanmelden">
<p class="response"></p>
</form>
</div>
这是我创建弹出窗口 (main.js) 的 JavaScript 文件
$('#popover').popover({
html: true,
content: function() {
return $("#popover-content").html();
}
});
这就是我在另一个 JavaScript 文件中执行 preventDefault() 的地方
$(".checkform").submit(function(e) {
e.preventDefault();
var request = $("#domein").val();
$.ajax({
// AJAX content here
});
});
为什么preventDefault() 不起作用?
【问题讨论】:
-
可能是因为脚本加载时
.checkform不在DOM中(.submit的函数)。你可以使用$(document).on('submit', '.checkform', function(e)...
标签: javascript jquery html forms twitter-bootstrap