Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

introducir el valor de una variable e un input

5 de octubre de 2014

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();">
                &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
            <input id="borrar" type="Reset" value="Borrar">
        </fieldset>
    </form>
 
</body>
</html>

Muchísimas gracias de antemano