Foros del Web » Programando para Internet » Javascript »

no me valida el dni

Estas en el tema de no me valida el dni en el foro de Javascript en Foros del Web. Tengo el siguiente formulario y quiero que mire si en el dni hay numero y letras el srcipt del dni lo he cogio del foro, ...
  #1 (permalink)  
Antiguo 31/03/2009, 10:14
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
no me valida el dni

Tengo el siguiente formulario y quiero que mire si en el dni hay numero y letras el srcipt del dni lo he cogio del foro, pero ponga lo que ponga en el dni me inserta los datos en la base de datos, porque no me valida?
Gracias de antemano


Código PHP:
<script type="text/JavaScript">

function 
validar()
{
abc=document.formulario.nif.value
dni
=abc.substring(0,abc.length-1)
let=abc.charAt(abc.length-1)
if (!
isNaN(let))
 {
  
alert('Falta la letra')
  
document.formulario.nif.focus()
  return 
false
 
}
else
 {
  
cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  
posicion dni 23
  letra 
cadena.substring(posicion,posicion+1)
  if (
letra!=let.toUpperCase())
   {
    
alert("Nif no válido")
    
document.formulario.nif.focus()
    return 
false
   
}
 }
alert("Nif válido")
}

</script> 
Código PHP:
<form action="php/registrocliente.php" method="POST" name="formulario">
    <
div align="center"><strong>ALTA NUEVO CLIENTE <br>    
    <
br>
    </
strong>
    </
div>
    <
table width="379" height="125" border="2" align="center" bordercolor="#0000FF" bgcolor="#FFFFCC" style="border:2px solid #000000;">


<
tr>
<
td align="left"> <span class="Estilo2">DNI:</span>
<
input type="text" size="10" maxlength="10"name="dni" />
</
td>
</
tr>


<
tr>
<
td align="left"> <span class="Estilo2">Nombre del Cliente:</span>
<
input type="text" size="30" maxlength="30"name="nombre" />
</
td>
</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Apellidos:</span>
<
input type="text" size="30" maxlength="30"name="apellidos" />
</
td>
</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Direccion:</span>
<
input type="text" size="50" maxlength="50"name="direccion" />

</
tr>
</
td>

<
tr>
<
td align="left"> <span class="Estilo2">Pais:</span>
<
input type="text" size="20" maxlength="20"name="pais" />
</
td>
</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Fecha Nacimiento(AAAA/MM/DD):</span>
<
input type="text" size="10" maxlength="10"name="fecha" />
</
td>

</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Telefono:</span>
<
input type="text" size="20" maxlength="20"name="telefono" />
</
td>
</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Movil:</span>
<
input type="text" size="20" maxlength="20"name="movil" />
</
td>
</
tr>

<
tr>
<
td align="left"> <span class="Estilo2">Matricula:</span>
<
input type="text" size="15" maxlength="15"name="matricula" />
</
td>
</
tr>

<
tr>
<
td align="center">
<
input type="submit" onClick="validar();" value="Registro" /> 
  #2 (permalink)  
Antiguo 31/03/2009, 10:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no me valida el dni

Usar "return validar()" en lugar de sólo "validar()". Además, es mejor que uses el evento onsubmit del form en lugar del evento onclick del input type submit.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 31/03/2009, 10:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: no me valida el dni

Me sigue sin funcionar el validar. Segun tu dices tendria que kedar asi no?

Código PHP:
<form action="php/registrocliente.php" method="POST" name="formulario" onSubmit="return validar()"
  #4 (permalink)  
Antiguo 31/03/2009, 10:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: no me valida el dni

Tema trasladado desde PHP.
  #5 (permalink)  
Antiguo 31/03/2009, 10:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no me valida el dni

Fíjate que en el código se trata de validar un campo llamado "nif", que no existe en tu formulario, en tu formulario lo que existe es un campo llamado "dni"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 31/03/2009, 10:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 221
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: no me valida el dni

Joder vaya cagada muxas gracias por la solucion ya podia yo romperme la cabeza
Por cierto si ara quisiera usar otra funcion que me validase una fecha por ejemplo, como lo tendria que poner seguido de punto y coma?

<form action="php/registrocliente.php" method="POST" name="formulario" onSubmit="return validar(); validarfecha()">
  #7 (permalink)  
Antiguo 31/03/2009, 10:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no me valida el dni

Así:
Código javascript:
Ver original
  1. return validar() && validarfecha();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:51.