【发布时间】:2014-07-25 14:53:05
【问题描述】:
我有以下 Twitter Bootstrap 3 模态,模态内部有一个表单:
<!-- Button trigger modal -->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h2 class="modal-title">Add new page</h2>
</div>
<div class="modal-body">
<form class="form-horizontal add-new-page-form">
<fieldset>
<!-- Label -->
<div class="form-group">
<label class="col-md-4 control-label" for="labelInput">Label</label>
<div class="col-md-5">
<input id="labelInput" name="labelInput" type="text" data-field="label" class="form-control input-md">
<span class="help-block">Page label</span>
</div>
</div>
<!-- Button (Double) -->
<div class="form-group">
<label class="col-md-4 control-label" for="closeBtn"></label>
<div class="col-md-8">
<button id="closeBtn" name="closeBtn" class="btn btn-default" data-dismiss="modal">Close</button>
<input type="submit" id="saveBtn" name="saveBtn" class="btn btn-primary add-page" value="Add">
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
我想通过 jQuery 捕捉 submit 事件:
$("form").on("submit", function () {
alert("foo");
return false;
});
表单不是通过按Enter键提交的(当文本输入被聚焦时),而是在Add按钮时提交(即submit一个) 被点击。
我找不到未通过 Enter 提交表单的原因。模态只是关闭,但submit 事件不会被发射/触发。
JSFDDLE - 问题可以在哪里重现
在 Chromium 版本 34.0.1847.116 Ubuntu 14.04 aura (260972) 和 Firefox 31.0 上测试。两种浏览器都存在同样的问题。
【问题讨论】:
标签: jquery html forms twitter-bootstrap