ToDoList 추가하기 #1
| 1. ToDoList 입력칸 만들기 (input) |
| 2. 입력된 내용 목록으로 만들기 (li, span) |
<html>
<!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">
<link rel="stylesheet" href="css/style.css">
<title>login</title>
</head>
<body>
<h2 id="clock">00:00:00</h2>
<form id="login-form" class="hidden">
<input required maxlength="15" type="text" placeholder="What is your name?" />
<button>Log-in</button>
</form>
<form id="greeting" class="hidden">
<h1></h1>
<button>Log-out</button>
</form>
<form id="todo-form"> // todo 입력칸
<input type="text" placeholder="Write a To Do and press Enter." required />
</form>
<ui id="todo-list"></ui>
<div id="quote">
<span></span>
<span></span>
</div>
<script src="js/greetings.js"></script>
<script src="js/clock.js"></script>
<script src="js/quotes.js"></script>
<script src="js/backgrounds.js"></script>
<script src="js/todo.js"></script>
</body>
</html>
<js>
const toDoForm = document.querySelector("#todo-form");
const toDoInput = toDoForm.querySelector("input")
const toDoList = document.querySelector("#todo-list");
function painToDo(newTodo) {
const li = document.createElement("li");
const span = document.createElement("span");
li.appendChild(span);
span.innerText = newTodo;
toDoList.appendChild(li);
}
function handleToDoSubmit(event) {
event.preventDefault();
const newTodo = toDoInput.value;
toDoInput.value = "";
painToDo(newTodo);
}
toDoForm.addEventListener("submit", handleToDoSubmit);
* function handleToDoSubmit(event) 함수
event.preventDefault(); - submit 될 때 자동 새로고침 중지
const newTodo = toDoInput.value; - 입력된 값을 newTodo 변수에 저장
toDoInput.value = "" - 입력된값을 초기화 (빈칸으로 돌림) #newTodo에 저장된 변수 유지
painToDo(newTodo); - newTodo에 저장된 변수를 painToDo 함수로 전달
* function painTodo(newToDo) 함수
const li = document.creatElemet("li") - <li> 태그를 변수 li에 저장
const span = document.creatElemet("span") - <span> 태그를 변수 span에 저장
li.appenChild(span); - <span> 태그를 <li> 태그 하위로 이동
span.innerText = newTodo; - newTodo 인자를 <span> 태그에 입력
toDoList.appendChild(li); - id = todo-List 해당하는 곳에 <li> 태그를 하위로 이동
*toDoForm.addEventListener("submit", handleToDoSubmit);
- submit 이벤트시 handleToDoSubmit 함수 실행
반응형
'프론트엔드 > javascript' 카테고리의 다른 글
| javascript (12) - ToDoList #3 (0) | 2023.04.13 |
|---|---|
| javascript (12) - ToDoList #2 (0) | 2023.04.13 |
| javascript (11) - 백그라운드 랜덤 사진 (0) | 2023.04.11 |
| javascript (11) - random (0) | 2023.04.11 |
| javascript (10) - intervals, timeout, padStart, padEnd (0) | 2023.04.11 |