このjqueryコードは、jquery形式でうまく機能します。
このjqueryコードをcoffeescriptコードに変換したい:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('.preview_browse img#thumb').attr('src', e.target.result).width(251).show();
};
reader.readAsDataURL(input.files[0]);
$('.not_found_image_browse').hide();
}
}
http://js2coffee.org/からこのコードを取得します。
readURL = (input) ->
if input.files and input.files[0]
reader = new FileReader()
reader.onload = (e) ->
$(".preview_browse img#thumb").attr("src", e.target.result).width(251).show()
reader.readAsDataURL input.files[0]
$(".not_found_image_browse").hide()
しかし、post.js.coffee のプロジェクト レールにこのコードを入力すると、うまく動作しません。
ブラウザ コンソールに次のエラーが表示されます。
readURL is not defined
onchange()onchange (line 2)
event = change
[Break On This Error]
readURL(this);
これは、入力ファイルの html コードです。
<input id="post_image" class="file required" type="file" onchange="readURL(this)" name="post[image]">