我有问题。我在fancybox里面有形式。此表单有一个文件字段。
<div style="display:none"><div id="avatar_form">
<%= form_for @user do |f| %>
<%= f.file_field :avatar, :value => @user.profile.avatar %><br/>
<%= f.submit "Change Avatar" %><br/>
<% end %>
</div></div>
但是点击一个按钮来选择文件花式框正在关闭。但我不希望它关闭。
这称为奇特的盒子
$("a#avatar").fancybox();
这里是ajax
$("#edit_user").bind("submit", function() {
$.fancybox.showActivity();
$.ajax({
type : "POST",
cache : false,
url : "anyurl",
data : $(this).serializeArray(),
success: function(data) {
$.fancybox(data);
}
});
return false;
});
我做错了什么?我不知道该怎么办。提前谢谢!
答案 0 :(得分:1)
嗯。我首先尝试阻止文件输入在DOM树上传播任何事件,这可能会不必要地触发关闭事件:
success: function(data) {
$.fancybox(data);
$("#avatar_form > form > input[type='file']").on("click change", function (e) {
e.stopPropagation();
});
}