【发布时间】:2014-11-09 23:52:47
【问题描述】:
我在引导模式中有一个表单,我想通过 Ajax 请求提交该表单。我密切关注this post。出于某种原因,我无法让表单实际提交。这是我的模态的 HTML。
<div id="modal-close" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal1" 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>
<h3 id="myModalLabel">Edit Introduction</h3>
</div>
<div class="modal-body">
<form id="modal-form-close" method="post">
<input type="hidden" name="event_timestamp" value="{{event.timestamp}}">
<input type="hidden" name="event_desc" value="{{event.desc}}">
<input type="hidden" name="status" value="closed">
<input type="text" name="resolution" value="">
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary" data-dismiss="modal" id="modal-close-submit">Save changes</button>
</div>
</div>
</div>
</div>
这是我的 JavaScript:
<script>
$(function(){
$('#modal-form-close').on('submit', function(e){
e.preventDefault();
$.ajax({
url: '/events/edit/{{event.event_id}}/script',
data: $('#modal-form-close').serialize(),
type: 'POST',
success: function(data){
alert('successfully submitted')},
error: function(data){
alert('something went wrong')
}
});
});
});
</script>
使用这种方式编写的 javascript,当我按下提交表单时,什么也没有发生。但是,如果我将函数更改为 .on('click'),一切都会按预期工作。我错过了什么?
【问题讨论】:
-
您的表单中的
type="submit"字段在哪里?如果有type ="submit"的字段,jquery 将自动触发表单提交,或者您必须手动使用click在您的情况下..这是工作..这有帮助吗? -
是否可以使用最后输入的文本提交 ??????????????。
标签: javascript jquery twitter-bootstrap