【发布时间】:2020-03-07 08:05:42
【问题描述】:
我正在创建一个专辑网站,只是为了学习 Javascript。我有输入框来添加专辑的标题、艺术家和年份。当按下“添加专辑”时,它会将此信息插入到名为 albumList 的对象的数组中,然后在列表元素中显示该信息。我想知道是否可以允许用户也上传一张图片,该图片也被推送到数组中并与标题、艺术家和年份一起显示。
我已经尝试了所有我能想到的东西,并在谷歌上搜索了一整天,但没有运气。这甚至可能吗?这是我目前的 JS,我已经删除了我尝试上传图片的所有内容,以便给我一个干净的状态,可以这么说:
var albumList = {
albums: [],
addAlbum: function(title, artist, year) {
this.albums.push({
title,
artist,
year
});
}
};
var handlers = {
addAlbum: function() {
var addAlbumTitle = document.getElementById("addAlbumTitle");
var addAlbumArtist = document.getElementById("addAlbumArtist");
var addAlbumYear = document.getElementById("addAlbumYear");
albumList.addAlbum(addAlbumTitle.value, addAlbumArtist.value, addAlbumYear.valueAsNumber);
view.displayAlbums();
}
};
//Only used to display info on screen.
var view = {
displayAlbums: function() {
var albumUl = document.querySelector('ul');
albumUl.innerHTML = '';
albumList.albums.forEach(function(album, position) {
var albumLi = document.createElement('li');
var showAlbum = '';
showAlbum = album.title + ' ' + album.artist + ' ' + album.year;
albumLi.id = position;
albumLi.textContent = showAlbum;
albumUl.appendChild(albumLi);
});
}
};
还有我的 HTML:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>My top 100 albums</h1>
<div>
<input id="addAlbumTitle" type="text" placeholder="Title">
<input id="addAlbumArtist" type="text" placeholder="Artist">
<input id="addAlbumYear" type="number" placeholder="Year">
</div>
<button onclick="handlers.addAlbum()">Add Album</button>
<ul></ul>
<script src="test.js"></script>
</body>
</html>
【问题讨论】:
标签: javascript arrays image