我在使用ajax处理的bootstrap模式中有一个表单。如果表单验证它将关闭模态或按预期显示验证错误。但是,如果根据控制器中保存的布尔值满足条件,我想在模态隐藏动画完成后重定向用户。虽然条件不会像写的那样工作,但它可以让你看到我想要完成的是什么:
$(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 %>"));}
});
})
答案 0 :(得分:2)
您将保存设置为布尔值(可能是 - @bool
var中的任何内容)
var saved = <%= @bool %>;
然后与字符串 "true"
if(saved == "true"){
所以,如果你用
替换第二行if(saved){
它会起作用
答案 1 :(得分:1)
替换
var saved = <%= @bool %>;
与
var saved = "<%= @bool %>";
答案 2 :(得分:0)
您在哪里发布此代码?如果您的表单位于index.html.erb
下,那么在使用remote: true
时,您需要一个index.js.erb
文件,该文件将提供您希望在示例中运行的javascript。另外,请不要忘记使用j
<%=j some_url %>
转义返回网址。