2016-07-29 17 views
1

写真でリストを作成しています。リストに新しい写真をアップロードするためにHTML5とJavaScriptを使用していますが、ここに問題があります。誰もがこれで私を助けることができますか?リストに写真をアップロード

HTML:

<form action=""> 
    <input type="file" value="Add new image" id="addPhoto"> 
</form> 

<ul class="list"> 
    <li><img src="http://https://blog.shareaholic.com/wp-content/uploads/2015/06/shortlink.png" alt="" class="image"></li> 
    <li><img src="http://http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a" alt="" class="image"></li> 
</ul> 

はJavaScript:

function changePhoto(input) { 
    if (input.files[0]) { 
     var reader = new FileReader();     
     reader.onload = function (e) { 
      var source = e.target.results; 
      $(".list").append("<li><img src="+source+"></li>"); 
     } 
     reader.readAsDataURL(input.files[0]); 
    } 
} 

$("#addPhoto").change(function() 
    changePhoto(this); 
}); 

CSS *:

.image { 
    height: 100px; 
    width: 100px; 
} 

デモ:here。あなたはjQueryをロードしていない

▶:

+0

そして、問題は何ですか? –

+0

写真をアップロードできません。私はアップロードすることができますが、私は2つの以前の画像のように彼を表示することはできません。 –

+0

アップロードした画像を2枚の画像の後にリストに追加したいのですか? –

答えて

3

次の2つの問題を抱えています。

FileReader.resultsプロパティがありません。この作業を行うためには


▶がjQueryの最新バージョンを追加します。

▶変更var source = e.target.results; jsFiddle var source = e.target.result;


へ:here

スニペット:

function changePhoto(input) { 
 
    if (input.files[0]) { 
 
    var reader = new FileReader(); 
 
    reader.onload = function(e) { 
 
     var source = e.target.result; 
 
     $(".list").append("<li><img src=" + source + "></li>") 
 
    } 
 
    reader.readAsDataURL(input.files[0]); 
 
    } 
 
} 
 

 
$("#addPhoto").change(function() { 
 
    changePhoto(this); 
 
});
.image { 
 
    height: 100px; 
 
    width: 100px; 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
 
<form action=""> 
 
    <input type="file" value="Add new image" id="addPhoto"> 
 
</form> 
 
<ul class="list"> 
 
    <li><img src="https://blog.shareaholic.com/wp-content/uploads/2015/06/shortlink.png" alt="" class="image"></li> 
 
    <li><img src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a" alt="" class="image"></li> 
 
</ul>

関連する問題