2016-07-29 2 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; 
} 

Demo:here.

+0

И какая проблема? –

+0

Я не могу загрузить фотографию. Я имею в виду, я могу загрузить, но я не могу показать ему, как 2 предыдущих изображения. –

+0

Вы хотите добавить добавленное загруженное изображение в список после двух изображений, которые у вас уже есть? –

ответ

3

У вас есть две проблемы:

▶ Вы не загружены jQuery.

FileReader.results Недвижимость.


Для того, чтобы сделать эту работу:

▶ Добавить недавнюю версию jQuery.

▶ Изменить var source = e.target.results; в var source = e.target.result;


jsFiddle: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>

Смежные вопросы