Я пытаюсь представить форму внутри наложения. Форма загружается через ajax. Это все прекрасно работает на Firefox 3.x.
Но в Safari 5.0 (5533.16) оверлей показывает, но не выполняет ajax-запрос, а выполняет html-запрос.
Вот как я настраиваю его в моем js, а затем в документе. Я уже вызываю ModalPostForm.init ();
Пасти - http://pastie.org/1196064
var ModalPostForm = {
init: function(){
$("a[rel='#post_overlay']").each(function(){
//alert($(this).attr('href'));
$(this).overlay({
closeOnClick: false,
target: '#post_overlay',
fixed: false,
onBeforeLoad: function() {
// grab wrapper element inside content
var wrap = this.getOverlay().find(".contentWrap");
// load the page specified in the trigger
wrap.load(this.getTrigger().attr("href"));
},
onLoad: function() {
setTimeout("configurePostForm(200, 1000, 150)", 500);
},
onClose: function() {
$('.contentWrap').empty();
}
});
});
},
close: function(){
$("a[rel='#post_overlay']").each(function(){
var ol = $(this).data("overlay");
if(ol.isOpened()){
ol.close();
}
});
}
};
Вот мой HTML
<div id="post_overlay" class="new-post-overlay span-12" style="top: 54.3px; left: 429px; position: absolute; display: none;"><a class="close"></a>
<div style="display: none;" id="form_loading" class="">
<div class="loading-inner-center"></div>
</div>
<div id="" class="contentWrap"></div>
</div>
Почему он выдает html-запрос?
Спасибо
UPDATE
Это исчезнет, если я уберу блок format.html в моем rails response_to block в действиях моего контроллера.
Хотя остается вопрос, почему он отправил html-запрос или почему rails считает, что это html-запрос. Я бы предпочел не удалять этот блок для браузеров, которые действительно не могут делать js.
новое действие, вызывающее проблему
respond_to do |format|
# format.html # new.html.erb
format.js {
}
# format.xml { render :xml => @post }
end
Действие edit, которое также вызывает проблему, как new, так и edit являются методами get.
# format.html {
# if @edit
# #
# setup_post_items(true)
# else
# flash[:error] = 'Sorry no further edits, Post has already been approved.'
# redirect_back_or_default root_url
# end
# }
format.js {
if !@edit
flash[:error] = 'Sorry no further edits, Post has already been approved.'
end
}