【发布时间】:2022-01-16 00:32:34
【问题描述】:
我没有找到回复,所以我正在创建一个新帖子。我是 JS 的新手,我想创建一种库。 解释: 我们有一个输入“用户”和“作者”和“类别”的表单 按钮 - 提交表单。 我想在其下显示我的表单中的数据(如所附屏幕截图所示)。
我的问题是我特别不知道如何从表单中显示新数据(请看代码)。我当然确定我应该使用一种循环来创建和显示带有嵌套 LI 的新 UL,但我不知道如何:/。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="">
<label for="title"></label>
<input type="text" name="title" id="title">
<label for="author"></label>
<input type="text" name="author" id="author">
<label for="category"></label>
<select name="category" id="category">
<option value="fantasy">Fantasy</option>
<option value="sci-fi">Sci-Fi</option>
<option value="romans">Romans</option>
</select>
<button type="submit" id="submit">Zatwierdź</button>
</form>
<script src="script.js"></script>
</body>
</html>
class Book {
constructor(title,author,category) {
this.title = title;
this.author = author;
this.category = category;
}
}
let btn = document.getElementById('submit');
let books = [];
function submitForm(event) {
event.preventDefault();
let title = document.getElementById('title').value;
let author = document.getElementById('author').value;
let category = document.getElementById('category').value;
let book = new Book(title,author,category);
books.push(book);
let elementUl = document.createElement('ul');
function addElement() {
let elementTitle = document.createElement('li');
let elementAuthor = document.createElement('li');
let elementCategory = document.createElement('li');
let titleContent = document.createTextNode("Title: " + books[0].title);
let authorContent = document.createTextNode("Author: " + books[0].author);
let categoryContent = document.createTextNode("Category: " + books[0].category);
elementTitle.appendChild(titleContent);
elementAuthor.appendChild(authorContent);
elementCategory.appendChild(categoryContent);
elementUl.appendChild(elementTitle);
elementUl.appendChild(elementAuthor);
elementUl.appendChild(elementCategory);
document.querySelector('body').appendChild(elementUl);
}
addElement();
}
btn.addEventListener('click',submitForm);
【问题讨论】:
标签: javascript arrays list onclick javascript-objects