【发布时间】:2016-03-16 01:56:07
【问题描述】:
我正在尝试制作两个上传按钮。一个用于帐户徽标。
.col-sm-6
.wrapper
Account Logo
#account_logo
= image_tag @account.logo.url, :class => 'account_logo'
= file_field_tag 'account[logo]', :accept => 'image/png,image/jpeg'
%a.btn.btn-default{:href => '#'} Choose file
%span.notice
Only PNG or JPG please.
另一个用于电子邮件徽标。
.col-sm-6
.wrapper
Email Logo
#email_logo
= image_tag @account.email_logo.url, :class => 'email_logo'
= file_field_tag 'account[email_logo]', :accept => 'image/png,image/jpeg'
%a.btn.btn-default{:href => '#'} Choose file
%span.notice
Only PNG or JPG please.
我添加了 javascript,因此它适用于两者。但是,发生了一些非常错误的事情。我添加了警报以尝试调试,他们告诉我,即使我单击#account_logo 按钮,它也会全部进入#email_logo。可以请一些 javascript 向导帮助我吗?
:javascript
var logo = ["#account_logo", "#email_logo"];
for (var i = 0; i < logo.length; i++) {
var on_change = (logo[i] + ' input[type=file]');
var on_click = (logo[i] + ' a.btn');
var logo_img = (logo[i] + ' img');
$(document).on('click', on_click , function() {
alert("it is now " + on_click);
$(on_change).click();
alert("it is now " + on_change);
});
$(document).on('change', on_change, function() {
alert("it is now " + on_change);
var filelist = $(this).get(0).files;
var reader = new FileReader();
reader.onload = function (e) {
var url = e.target.result;
alert("it is now " + logo_img);
$(logo_img).attr('src', url);
}
reader.readAsDataURL(filelist[0]);
});
}
【问题讨论】:
-
我怀疑代码“reader.readAsDataURL(filelist[0]);”位于您的 javascript 程序末尾的第三行。
标签: javascript upload haml image-uploading imagebutton