본문 바로가기

안녕하세요!

프로그래밍 언어/JSP

JSP_toDo list 만들기

실습 3-2

My toDo App



    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>실습 3-2</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
    
    <script>
    function addItem() {
    // 입력값을 읽어와 todo 변수에 저장
    let todo = document.getElementById("item");
    // <ul> 요소를 참조해 list 변수에 저장
    let list = document.getElementById("todolist");
    // 새로운 <li> 요소를 생성해 listitem 변수에 저장
    let listitem = document.createElement("li");
    // 새로운 목록에 디자인 추가
    listitem.className = "d-flex list-group-item list-group-item-action list-group-item-warning";
    
    
    // <li> 요소에 들어갈 닫기 버튼 생성
    let xbtn = document.createElement("button");
    // 버튼에 부트스트랩 클래스 적용
    xbtn.className = "btn-close ms-auto";
    
    
    // close 버튼에 이벤트 처리
    xbtn.onclick = function(e) {
    // 이벤트가 발생한 <li> 요소를 구하여 <ul> 요소에서 제거
    let pnode = e.target.parentNode;
    list.removeChild(pnode);
    }
    
    
    // 입력값을 <li> 탯그 body에 추가
    listitem.innerText = todo.value;
    // <li>에 버튼 추가
    listitem.appendChild(xbtn);
    // ul 요소에 li 요소 추가
    list.appendChild(listitem);
    
    
    // 입력칸 비우기 및 포커스 이동 : 새로운 할 일 추가한 후, 다음 입력칸 비우고 다시 입력할 수 있도록 포커스 지정
    todo.value = "";
    todo.focus();
    }
    </script>
    
    </head>
    <body>
    <div class="container bg-warning shadow mx-auto mt-5 p-5 w-75">
    <h2>My toDo App</h2>
    <hr>
    <div class="input-group">
    <input id="item" class="form-control" type="text" placeholder="할일을 입력하세요.">
    <button type="button" class="btn btn-primary" onclick="addItem()">할일 추가</button>
    </div>
    <hr>
    <ul id="todolist" class="list-group"></ul>
    </div>
    
    </body>
    </html>
    728x90
    반응형

    '프로그래밍 언어 > JSP' 카테고리의 다른 글

    JSP_22.10.27  (0) 2022.10.28
    JSP_22-10-25  (0) 2022.10.26
    JSP_회원가입  (0) 2022.10.24
    JSP_22-10-24  (0) 2022.10.24

    loading