当用户在表单中输入了无效内容时,我想显示带有错误消息的模态窗口,但如果一切正常,则显示另一个操作。但是,当我尝试用
显示模态窗口时render :js => "jQuery.facebox(#{...})"
仅显示实际调用的JavaScript:
try {
jQuery.facebox(...)
} catch (e) { alert('RJS error:\n\n' + e.toString());
alert('jQuery.facebox(\"<div class=\'error\'>Error</div>\")');
throw e;
}
答案 0 :(得分:7)
您是否尝试过将代码部分放入?而不是
render :js => "jQuery.facebox(#{...})"
尝试
render :partial => "my_facebox_popup"
然后在您的 _my_facebox_popup.html.erb 部分内放置您的代码:
<script type = "text/javascript">
...
</script>
调试使用firebug获得的任何错误。
答案 1 :(得分:1)
试试这个
render :update do|page|
page << "jQuery.facebox(#{...})"
end
答案 2 :(得分:1)
也许你应该在jQuery调用中指定你正在等待的响应的dataType。
E.g:
$.ajax({
url: "/controller/action/id",
success: function(){
$(this).addClass("done");
},
dataType: 'script'
});