5.3: tp-12 (Lista de Compras)

El objetivo es construir una lista de compras donde se puedan agregar productos.

HTML

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Lista de Compras - DOM y JavaScript</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous">
</head>
<body>
    <div class="container my-1 my-sm-2 my-md-4 my-lg-5">
        <h1>Lista de Compras</h1>
        <div class="card">
            <div class="card-body">
                <h2>Listado de Productos</h2>
                
                <ul id="lista-productos">
                    <li>Pan</li>
                </ul>

                <hr class="hr">

                <h2>Agregar Producto</h2>
                <form id="form-producto">
                    <div class="input-group mb-3">
                        <input type="text" class="form-control" aria-label="Nombre del Producto">
                        <button class="btn btn-primary" type="submit">Agregar Producto</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-HwwvtgBNo3bZJJLYd8oVXjrBZt8cqVSpeBNS5n7C8IVInixGAoxmnlMuBnhbgrkm" crossorigin="anonymous"></script>
    <script type="text/javascript">
        /**
         * agregarProducto()
         * esta función se va a llamar cuando el usuario envía el formulario con el nombre del producto para agregar.
         */
        function agregarProducto(nombreProducto) {
            // su implementación
        }

        function handlerFormulario(e) {
            e.preventDefault();
            const input = e.target.querySelector('input');
            const nombreProducto = input.value;
            input.value = "";
            agregarProducto(nombreProducto);
        }

        document.querySelector('form').addEventListener('submit', handlerFormulario);
    </script>
</body>
</html>