3

我在使用 ajax 处理的引导模式中有一个表单。如果表单验证它会关闭模式或按预期显示验证错误。但是,如果基于控制器中保存的布尔值满足条件,我想在模态隐藏动画完成后重定向用户。虽然条件不会像写的那样工作,但它可以让你看到我想要完成的事情:

$(document).ready(function() {
  $('#modal-window').modal({remote: true});
  $('#modal-window').modal('show');
  $('#modal-window').on('hidden', function(){
    var saved = <%= @bool %>;
    if(saved == "true"){
      $(window.location.replace("<%= some_url %>"));}
    });
})
4

3 回答 3

3

您正在设置保存为布尔值(可能 - 您的@boolvar 中的任何内容)

var saved = <%= @bool %>;

但然后与字符串进行比较 "true"

if(saved == "true"){

所以,如果你用

if(saved){

它会工作的

于 2013-01-31T12:06:12.993 回答
1

代替

var saved = <%= @bool %>;

var saved = "<%= @bool %>";
于 2013-01-31T10:54:07.573 回答
0

您在哪里发布了此代码?如果您的表单index.html.erb在使用 时remote: true,您将需要一个index.js.erb文件来提供您希望在示例中运行的 javascript。另外,不要忘记使用jlike转义返回 URL <%=j some_url %>

于 2013-01-31T02:55:19.290 回答