序列化表单在引导模式下不工作
serializing form not working in bootstrap modal
我试图使用jquery/ajax来序列化一个对话框内的表单,但表单提交正常,而不是通过ajax,这是我的javascript:
$('.modal-content').on('submit', "send_pm", function() {
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
headers: {
'X-Requested-With': 'XMLHttpRequest'
},
dataType: 'json',
success: function(data) {
if (!data.success) {
$.notify(data.error, "error");
} else {
$('#globalModal').dialog("close");
$.notify(data.success, "success");
}
}
});
return false;
});
对话框
<div class="modal" id="globalModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
</div>
</div>
</div>
</div>
我在jquery上返回false,所以它应该正常提交,这是我的表单:
<form action="<?php echo config::get('URL'); ?>messages/send_message" method="POST" id="send_pm">
<div class="panel-default m-t-20">
<div class="panel-body p-t-30">
<div class="form-group" data-intro="<?php echo Tutorials::tutorial('message_compose_sender_to'); ?>" data-step="2">
<input type="text" class="form-control" value="<?php echo system::escape($this->to); ?>" id="recipient" name="to">
</div>
<div class="form-group" data-intro="<?php echo Tutorials::tutorial('message_compose_subject'); ?> " data-step="3">
<input type="text" class="form-control" name="subject" value="<?php echo system::escape($this->subject); ?>" placeholder="Subject">
</div>
<div class="form-group" data-intro="<?php echo Tutorials::tutorial('message_compose_message_body'); ?> " data-step="4" data-position="top">
<textarea id="compose-textarea" name="message" class="form-control" style="height: 300px">
<?php echo System::wysiwyg($this->
message); ?>
</textarea>
</div>
<div class="pull-right" data-intro="<?php echo Tutorials::tutorial('message_compose_discard_message'); ?>" data-step="1">
<button type="submit" class="btn btn-purple waves-effect waves-light"><span><?php echo System::translate("Send"); ?>
</span><i class="icon-mail-send"></i></button>
</div>
</div>
</div>
</form>
在我看来,. mode -content是一个div &Send_pm应该是不在。modal-contentdiv中的表单名。
所以使用$(document)。的 (.modal-content)美元。。您可以使用合适的选择器来代替document。
另外,正如其他人在评论中指出的那样,使用#send_pm
如果有人仍然在这个问题上挣扎,那么你可以尝试这个解决方案。
$(document).on('click','.save-item', function(){
var data = $('#saveItemModal .form-control').serializeArray();
});
相关文章:
- 数据属性仅在切换设备模式下工作
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 更改不在引导模式窗口中工作的月份和年份
- 推特Boostrap模式窗口-可拖动不工作
- 如何使引导模式正常工作
- 与未在发布模式下工作的子目录和区域绑定
- 为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
- 为什么我的UI应用程序嵌套在引导模式中时无法工作
- 代码在调试模式下工作
- 选中的单选按钮在jQuery模式对话框中不能正常工作
- bootstrap日期选择器轨道无法通过带有bootstrap模式的simple_form工作
- 我的滑块无法在自动模式下工作
- 事件发射器模式如何在Node,sockets.io中工作
- js不能在bs3ajax模式中工作
- 如何使Asp.net网站同时在IE 11(非可比模式)和IE 8中工作
- Eonasdan日期时间选择器没有'不能在联机模式下工作
- jQuery每5个工作小时重置一次颜色模式
- AJAX 在调试模式下工作,但不是实时的
- 代码仅在调试器模式下工作,断点位于 Consol.log否则不起作用
- config.fullPage = true;在 ckEditor 内联模式下无法正常工作.如何实现这一点