Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2006, 09:08
raulo460
 
Fecha de Ingreso: diciembre-2003
Mensajes: 49
Antigüedad: 20 años, 4 meses
Puntos: 0
Validar dni en formulario

No sé si este es el foro correcto:

Hola, he construido un formulario que contiene Nombre Apellidos y DNI.
Código:
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">NOMBRE:</td>
      <td><input type="text" name="NOMBRE" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">APELLIDOS:</td>
      <td><input type="text" name="APELLIDOS" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">DNI:</td>
      <td><input type="text" name="DNI" value="" size="32"></td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td><input type="submit" value="Firmar"></td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1">
</form>
Los datos introducidos pasan a una Base de datos mysql que he creado.
Lo que quiero es que si alguien mete un dni incorrectamente salga una pantallita indicando que vuelva a meter el correcto.
He conseguido un script que valida dni o nif:
Código:
<script>
/*******************************
 Validación del nif. Por Carlitos. [email protected]
 Si usas este script, deja intactas estas líneas (créditos). Vale?
 También te agradecería un e-mail con tus comentarios.
*******************************/

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>
pero no sé como hacer que funcione con mi formulario cuando pulsas firmar.

Otra duda es la siguiente:
He visto que para evitar que programas robot cumplimenten el formulario se emplea un código numérico en formato imagen que el interesado ha de teclear antes de enviar los datos. ¿Cómo podría crear uno para mi formulario?

Gracias por la ayuda y un saludo