CODIGO VOTO ELEC USANDO HTML CCS JS METODO LOCALSTORAGE

CODIGO VOTO ELEC USANDO HTML CCS JS METODO LOCALSTORAGE

Crear una página web para votar por dos candidatos utilizando HTML, CSS, JavaScript y guardar los resultados de la votación en localStorage puede ser un proyecto interesante. A continuación, te proporciono un ejemplo simple de cómo podrías hacerlo:

Estructura HTML: Crea una página con dos botones para votar por cada candidato y un área para mostrar los resultados.

html

Copy code

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Votación de Candidatos</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <h1>Votación de Candidatos</h1>

    <button id="votarCandidato1">Votar por Candidato 1</button>

    <button id="votarCandidato2">Votar por Candidato 2</button>

    <div id="resultados">

        <h2>Resultados:</h2>

        <p>Candidato 1: <span id="votosCandidato1">0</span></p>

        <p>Candidato 2: <span id="votosCandidato2">0</span></p>

    </div>

    <script src="script.js"></script>

</body>

</html>

Estilos CSS (styles.css):

css

Copy code

body {

    font-family: Arial, sans-serif;

    text-align: center;

    margin: 20px;

}


h1 {

    margin-bottom: 20px;

}


button {

    margin: 10px;

    padding: 10px 20px;

    font-size: 16px;

    cursor: pointer;

}


#resultados {

    margin-top: 30px;

}

JavaScript (script.js):

javascript

Copy code

document.addEventListener("DOMContentLoaded", function () {

    // Obtener elementos del DOM

    const votarCandidato1Button = document.getElementById("votarCandidato1");

    const votarCandidato2Button = document.getElementById("votarCandidato2");

    const votosCandidato1Span = document.getElementById("votosCandidato1");

    const votosCandidato2Span = document.getElementById("votosCandidato2");


    // Manejadores de eventos para votar

    votarCandidato1Button.addEventListener("click", function () {

        // Incrementar votos de Candidato 1

        let votosCandidato1 = parseInt(votosCandidato1Span.textContent) + 1;

        votosCandidato1Span.textContent = votosCandidato1;

        // Guardar votos en localStorage

        localStorage.setItem("votosCandidato1", votosCandidato1);

    });


    votarCandidato2Button.addEventListener("click", function () {

        // Incrementar votos de Candidato 2

        let votosCandidato2 = parseInt(votosCandidato2Span.textContent) + 1;

        votosCandidato2Span.textContent = votosCandidato2;

        // Guardar votos en localStorage

        localStorage.setItem("votosCandidato2", votosCandidato2);

    });


    // Cargar resultados desde localStorage al cargar la página

    const votosGuardadosCandidato1 = localStorage.getItem("votosCandidato1");

    const votosGuardadosCandidato2 = localStorage.getItem("votosCandidato2");


    if (votosGuardadosCandidato1 !== null) {

        votosCandidato1Span.textContent = votosGuardadosCandidato1;

    }


    if (votosGuardadosCandidato2 !== null) {

        votosCandidato2Span.textContent = votosGuardadosCandidato2;

    }

});

Este código crea una página web simple donde puedes votar por dos candidatos y los resultados de la votación se guardan en localStorage. El conteo de votos se muestra en la página y persistirá incluso si cierras y vuelves a abrir la página.


Ten en cuenta que este es un ejemplo básico y que hay muchas formas de mejorar y expandir esta implementación. Por ejemplo, podrías agregar validaciones, estilos más avanzados, restricciones en la votación, y mucho más.





User

primero en la primera web que elija el candidato despues que muestre en una 2da web el resultado de lo que voto y que aparezca un boton para imprimir ese voto

ChatGPT

Entendido. Ahora, vamos a modificar el flujo para que en la primera página el usuario elija el candidato y luego, en una segunda página, muestre el resultado de su voto y ofrezca un botón para imprimir el voto. Además, guardaremos los resultados en localStorage para que puedan ser recuperados en la segunda página. Aquí está cómo podríamos hacerlo:


Primera página (index.html):


html

Copy code

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Votación de Candidatos</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <h1>Votación de Candidatos</h1>

    <p>Por favor, elige a un candidato:</p>

    <button id="votarCandidato1">Votar por Candidato 1</button>

    <button id="votarCandidato2">Votar por Candidato 2</button>

    <script src="script.js"></script>

</body>

</html>

Segunda página (resultados.html):


html

Copy code

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Resultado de Votación</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <h1>Resultado de tu Votación</h1>

    <p>Has votado por:</p>

    <div id="resultadoVoto"></div>

    <button id="imprimirVoto">Imprimir Voto</button>

    <script src="resultados.js"></script>

</body>

</html>

Estilos CSS (styles.css):


css

Copy code

/* Estilos comunes para ambas páginas */

body {

    font-family: Arial, sans-serif;

    text-align: center;

    margin: 20px;

}


h1 {

    margin-bottom: 20px;

}


/* Estilos específicos para la segunda página */

#resultadoVoto {

    font-size: 24px;

    margin-top: 20px;

}

JavaScript (script.js):


javascript

Copy code

document.addEventListener("DOMContentLoaded", function () {

    // Obtener elementos del DOM

    const votarCandidato1Button = document.getElementById("votarCandidato1");

    const votarCandidato2Button = document.getElementById("votarCandidato2");


    // Manejadores de eventos para votar

    votarCandidato1Button.addEventListener("click", function () {

        localStorage.setItem("voto", "Candidato 1");

        window.location.href = "resultados.html";

    });


    votarCandidato2Button.addEventListener("click", function () {

        localStorage.setItem("voto", "Candidato 2");

        window.location.href = "resultados.html";

    });

});

JavaScript para la segunda página (resultados.js):


javascript

Copy code

document.addEventListener("DOMContentLoaded", function () {

    // Obtener elemento del DOM

    const resultadoVotoDiv = document.getElementById("resultadoVoto");

    const imprimirVotoButton = document.getElementById("imprimirVoto");


    // Obtener voto guardado en localStorage

    const voto = localStorage.getItem("voto");


    // Mostrar el resultado del voto

    if (voto) {

        resultadoVotoDiv.textContent = voto;

    } else {

        resultadoVotoDiv.textContent = "No se ha registrado ningún voto.";

    }


    // Manejador de evento para imprimir el voto

    imprimirVotoButton.addEventListener("click", function () {

        window.print();

    });

});

Ahora, cuando el usuario elige un candidato en la primera página, se almacena en localStorage y se redirige a la segunda página donde se muestra el resultado de su voto. El botón "Imprimir Voto" en la segunda página permitirá al usuario imprimir el resultado de su voto.





User

hacer otra pagina con ganador de la votacion recuento votos

ChatGPT

Por supuesto, podemos crear una tercera página que muestre el ganador de la votación y el recuento de votos para ambos candidatos. Aquí está cómo hacerlo:


Tercera página (ganador.html):


html

Copy code

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Ganador de la Votación</title>

    <link rel="stylesheet" href="styles.css">

</head>

<body>

    <h1>Ganador de la Votación</h1>

    <p>Resultado del recuento de votos:</p>

    <p>Candidato 1: <span id="votosCandidato1">0</span></p>

    <p>Candidato 2: <span id="votosCandidato2">0</span></p>

    <p>Ganador: <span id="ganador"></span></p>

    <script src="ganador.js"></script>

</body>

</html>

JavaScript para la tercera página (ganador.js):


javascript

Copy code

document.addEventListener("DOMContentLoaded", function () {

    // Obtener elementos del DOM

    const votosCandidato1Span = document.getElementById("votosCandidato1");

    const votosCandidato2Span = document.getElementById("votosCandidato2");

    const ganadorSpan = document.getElementById("ganador");


    // Obtener votos guardados en localStorage

    const votosCandidato1 = parseInt(localStorage.getItem("votosCandidato1")) || 0;

    const votosCandidato2 = parseInt(localStorage.getItem("votosCandidato2")) || 0;


    // Mostrar recuento de votos

    votosCandidato1Span.textContent = votosCandidato1;

    votosCandidato2Span.textContent = votosCandidato2;


    // Determinar el ganador y mostrarlo

    if (votosCandidato1 > votosCandidato2) {

        ganadorSpan.textContent = "Candidato 1";

    } else if (votosCandidato2 > votosCandidato1) {

        ganadorSpan.textContent = "Candidato 2";

    } else {

        ganadorSpan.textContent = "Empate";

    }

});

Asegúrate de tener los mismos estilos CSS (styles.css) que se proporcionaron anteriormente en todas las páginas para mantener la coherencia en la apariencia.


Ahora, cuando el usuario visite la tercera página (ganador.html), se mostrará el recuento de votos para ambos candidatos y se determinará el ganador de la votación. Si hay un empate, se mostrará "Empate". Esto cierra el ciclo y proporciona al usuario una conclusión sobre el resultado de la votación.





User

hacer que no vote dos veces la misma persona  y siendoidentificado con numero serie dado

ChatGPT

Para evitar que la misma persona vote dos veces y poder identificar a los votantes utilizando un número de serie, necesitamos tener algún mecanismo para registrar los números de serie que ya han votado. Podemos utilizar localStorage para almacenar estos números de serie. Aquí está cómo podríamos hacerlo:


Modificar el código de la primera página (index.html) para solicitar el número de serie antes de permitir el voto:

html

Copy code

<!-- index.html -->

<!DOCTYPE html>

<html lang="en">

<head>

    <!-- ... -->

</head>

<body>

    <h1>Votación de Candidatos</h1>

    <p>Por favor, ingresa tu número de serie:</p>

    <input type="text" id="numeroSerie" placeholder="Número de serie">

    <button id="verificarNumeroSerie">Verificar Número de Serie</button>

    <div id="votacionSection" style="display: none;">

        <p>Elige a un candidato:</p>

        <button id="votarCandidato1">Votar por Candidato 1</button>

        <button id="votarCandidato2">Votar por Candidato 2</button>

    </div>

    <script src="script.js"></script>

</body>

</html>

Modificar el código JavaScript para manejar la verificación del número de serie y el voto:

javascript

Copy code

// script.js

document.addEventListener("DOMContentLoaded", function () {

    // Obtener elementos del DOM

    const numeroSerieInput = document.getElementById("numeroSerie");

    const verificarNumeroSerieButton = document.getElementById("verificarNumeroSerie");

    const votacionSection = document.getElementById("votacionSection");

    const votarCandidato1Button = document.getElementById("votarCandidato1");

    const votarCandidato2Button = document.getElementById("votarCandidato2");


    // Manejador de eventos para verificar número de serie

    verificarNumeroSerieButton.addEventListener("click", function () {

        const numeroSerie = numeroSerieInput.value;

        if (numeroSerie) {

            // Verificar si el número de serie ya ha votado

            const votanteYaVoto = localStorage.getItem(numeroSerie);

            if (votanteYaVoto) {

                alert("Ya has votado. No puedes votar nuevamente.");

            } else {

                // Mostrar la sección de votación

                votacionSection.style.display = "block";

                // Ocultar el área de verificación de número de serie

                verificarNumeroSerieButton.style.display = "none";

                // Guardar el número de serie como votante

                localStorage.setItem(numeroSerie, "voto");

            }

        } else {

            alert("Por favor, ingresa un número de serie válido.");

        }

    });


    // Manejadores de eventos para votar por los candidatos

    votarCandidato1Button.addEventListener("click", function () {

        // ... Código para votar por Candidato 1 ...

    });


    votarCandidato2Button.addEventListener("click", function () {

        // ... Código para votar por Candidato 2 ...

    });

});

Modificar el código de la segunda página (resultados.html) para mostrar los resultados solo después de la verificación del número de serie:

html

Copy code

<!-- resultados.html -->

<!DOCTYPE html>

<html lang="en">

<head>

    <!-- ... -->

</head>

<body>

    <h1>Resultado de tu Votación</h1>

    <p>Has votado por:</p>

    <div id="resultadoVoto"></div>

    <button id="imprimirVoto">Imprimir Voto</button>

    <script src="resultados.js"></script>

</body>

</html>

No olvides actualizar los enlaces en los botones de votación para dirigir al usuario a la página de resultados después de votar por un candidato.


Con estas modificaciones, el sistema verificará si un número de serie ya ha votado antes de permitir que se realice otro voto. Cada número de serie válido solo podrá votar una vez.





User

el numero de serie ya esta guardado en un array de 10 numeros previamente con javascript

ChatGPT

Si el número de serie ya está guardado en un array de 10 números y deseas verificar que el número de serie ingresado esté en ese array para permitir el voto, aquí está cómo puedes hacerlo:


Modificar el código JavaScript para verificar el número de serie en el array antes de permitir el voto:

javascript

Copy code

// script.js

document.addEventListener("DOMContentLoaded", function () {

    // Array de números de serie válidos

    const numerosDeSerieValidos = ["123456", "987654", "543210", "111111", "222222", "333333", "444444", "555555", "666666", "777777"];


    // Obtener elementos del DOM

    const numeroSerieInput = document.getElementById("numeroSerie");

    const verificarNumeroSerieButton = document.getElementById("verificarNumeroSerie");

    const votacionSection = document.getElementById("votacionSection");

    const votarCandidato1Button = document.getElementById("votarCandidato1");

    const votarCandidato2Button = document.getElementById("votarCandidato2");


    // Manejador de eventos para verificar número de serie

    verificarNumeroSerieButton.addEventListener("click", function () {

        const numeroSerie = numeroSerieInput.value;

        if (numeroSerie) {

            // Verificar si el número de serie está en la lista de números válidos

            if (numerosDeSerieValidos.includes(numeroSerie)) {

                // Verificar si el número de serie ya ha votado

                const votanteYaVoto = localStorage.getItem(numeroSerie);

                if (votanteYaVoto) {

                    alert("Ya has votado. No puedes votar nuevamente.");

                } else {

                    // Mostrar la sección de votación

                    votacionSection.style.display = "block";

                    // Ocultar el área de verificación de número de serie

                    verificarNumeroSerieButton.style.display = "none";

                    // Guardar el número de serie como votante

                    localStorage.setItem(numeroSerie, "voto");

                }

            } else {

                alert("Número de serie no válido.");

            }

        } else {

            alert("Por favor, ingresa un número de serie válido.");

        }

    });


    // Manejadores de eventos para votar por los candidatos

    votarCandidato1Button.addEventListener("click", function () {

        // ... Código para votar por Candidato 1 ...

    });


    votarCandidato2Button.addEventListener("click", function () {

        // ... Código para votar por Candidato 2 ...

    });

});

Este código verificará si el número de serie ingresado está en el array numerosDeSerieValidos antes de permitir el voto. Solo se permitirá votar a personas con números de serie válidos que no hayan votado previamente.

Comentarios

Entradas populares de este blog

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

INSERTAR Y UPDATE FECHA CON PHP MYSQL EN FORMULARIO METODO POST CON JQUERY ETIQUETA DATE

DETECTAR DIRECCION IP CON PHP Y JS