Hola !!!
Estoy aprendiendo JavaScript, y me he atascado con un ejercicio. A ver si me podéis echar un cable.
El caso es que quiero que quede grabado el DNI (número y letra) para que cuando desaparezca el mensaje y cargue el formulario esté ya tenga completado el campo DNI, ya que lo ha introducido hace unos minutos.
Código JavaScript:
var letras = ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T']; var numero = prompt("Introduce tu número de DNI (sin la letra)"); var letra = prompt("Introduce la letra de tu DNI (en mayúsculas)"); var resultado = numero + letra letra = letra.toUpperCase(); if(numero < 0 || numero > 99999999) { alert("El número proporcionado no es válido"); } else { var letraCalculada = letras[numero % 23]; if(letraCalculada != letra) { alert("La letra o el número proporcionados no son correctos"); } else { alert("El número de DNI y su letra son correctos"); } } while (letraCalculada != letra){ var numero = prompt("Introduce tu número de DNI (sin la letra)"); var letra = prompt("Introduce la letra de tu DNI (en mayúsculas)"); if(numero < 0 || numero > 99999999) { alert("El número proporcionado no es válido"); } else { var letraCalculada = letras[numero % 23]; if(letraCalculada != letra) { alert("La letra o el número proporcionados no son correctos"); } else { alert("El número de DNI y su letra son correctos"); document.formulario.dni.value = resultado } } } function validar(texto) { if (texto.length <4){ //si el texo es menor a 4 alert('El nombre de usuario debe tener mínimo 4 caracteres'); } } function limita(contraseña) { if (contraseña.length <8){ //si el texo es menor a 8 alert('La contraseña debe tener mínimo 8 caracteres'); } } function comprobarClave(){ clave1 = document.formulario.password.value clave2 = document.formulario.password2.value if (clave1 != clave2) alert("Las contraseñas deben coincidir") } // DNI escribir resultado javascript en el input dni
Código HTML:
<!DOCTYPE html> <html lang="es"dir="LTR"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Textos</title> // Código JavaScript </head> <body> <h1>Datos de registro</h1> <form name="formulario" action="maneja_formulario.php" method="post" onsubmit="return false" action="mailto:[email protected]" enctype="text/plain"> <fieldset> <legend><h2>Datos personales</h2></legend> <br> <b>Nombre de usuario</b> <span class="asterisco">*</span><br> <input type="text" id="nombre" name="nombre" value="" size="40" placeholder="Nombre ..." autofocus required autocomplete="off" onsubmit="return validar(texto);"/> <br><br> <b>DNI</b> <span class="asterisco">*</span><br> <input type="text" id="dni" name="dni" value="" size="20" maxlength="9" placeholder="..." autofocus required autocomplete="off" onload="dni()"/> </fieldset> <br><br><br> <fieldset> <legend><h2>Datos de conexión</h2></legend> <br> <b>Contraseña</b> <span class="asterisco">*</span> <br> <input type="password" id="password" name="password" value="" maxlength="10" placeholder="*****" autofocus required autocomplete="off" onsubmit="return limita(contraseña);"/> <br><br> <b>Vuelve a escribir contraseña</b> <span class="asterisco">*</span> <br> <input type="password" id="password2" name="password2" value="" maxlength="10" placeholder="*****" autofocus required autocomplete="off"/> </fieldset> <br><br><br> <fieldset> <legend><h2>Condiciones de registro</h2></legend> <br> <b>Deseo recibir ofertas de la empresa</b> <br><br> <input type="radio" id="dia" name="recibir" value="1"/> Una vez al día <input type="radio" id="semana" name="recibir" value="2"/> Una vez a la semana <input type="radio" id="mes" name="recibir" value="3" checked="checked"/> Una vez al mes <br><br><br> <input name="acepto" type="checkbox" value="acepto" required/> Acepto el acuerdo de servicios, la declaración de privacidad y la declaración de uso de cookies. <span class="asterisco">*</span> </fieldset> <br><br><br> <fieldset id="botones"> <input id="enviar" type="submit" value="Enviar" onclick="validar(nombre.value); limita(password.value); comprobarClave();"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input id="borrar" type="Reset" value="Borrar"> </fieldset> </form> </body> </html>
Muchísimas gracias de antemano