【发布时间】:2012-03-31 18:38:13
【问题描述】:
我已经为此苦苦思索了 2 天了。我非常沮丧,我似乎无法通过搜索找到任何相关信息。
问题。我正在使用 :remote => true 链接从不同的控制器加载一些 html。
$('.managed_locations').bind('ajax:complete', function(evt, xhr, status){
$('#locations_modal').modal('show')
$('#locations_modal').html(xhr.responseText);
});
所以它获取 html,将其转储到引导模式并显示模式。这工作正常。
但是在模态中,我也有一个也使用 :remote => true 的表单。现在为了让生活更艰难,当按下按钮时,我克隆表单并显示它。所以用户可以有多种形式。
现在的问题。每当提交表单时,它都会像普通页面一样加载它。就好像 :remote => true 被忽略了。但这仅在模态中。如果我自己加载模态控制器,它工作得很好。在使用另一个运行良好的 jquery 灯箱之前,我也开发了这个。我只是为了保持一致性而切换到引导程序。
所以我最初的想法是 jquery_ujs.js 没有找到新的表单。所以我添加了一些代码来输出表单元素。
$("#log_events").click(function () {
$(document).find(".new_stored_physical_location").each(function() {
console.log( $(this).data() );
console.log( $(this).data('events') );
});
return false;
});
控制台中的哪些输出:
Object { type="html", remote=true}
Object { ajax:complete=[1]}
所以我看到事件是在 jQuery 中设置的。这些表单中的每一个都具有 :remote => true 并且在请求完成时具有 ajax 事件。但是当我点击提交时,它只是没有执行 ajax 请求。
我是否缺少某些东西来确保表单中会发生 ajax 请求???? data() 看起来不错, data('events') 看起来美好的。但是我需要查看其他一些事件/绑定吗?
现在从模态加载的 html 正在加载一个布局。但我已经完成了布局,没有布局。它快把我逼疯了。谢谢大家的帮助。
编辑:一些额外的怪异。该模式还加载了一些额外的远程链接,所有这些都正常工作。只有表单链接似乎不起作用。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 modal-dialog twitter-bootstrap