Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2010, 15:58
tecla2
 
Fecha de Ingreso: julio-2007
Mensajes: 48
Antigüedad: 17 años, 7 meses
Puntos: 0
validar con javascript

hola, intento hacer doble validación de los datos de un formulario, una por parte del cliente, con javascript y la otra en el servidor,con php.

la de php, me funciona bien, xo la de javascript no me hace nada. Os dejo el código a ver si me podéis ayudar.

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../estilos.css">
<script type="text/javascript" language="javascript">
	function itrim(str){return str.replace(/^\s+/,"");}
	function ftrim(str){return str.replace(/\s+$/,"");}
	function alltrim(str){return ftrim(itrim(str));}
	function validar(formulario) { 
	//return false;
		var caracteres = /^([a-z]|[A-Z]|á|é|í|ó|ú|ñ|ü|\s)+$/;
		var dni = /^\d{8}[A-Z]$/;
		var mail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3,4})+$/;
		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 = 5;//formulario.elements.length;
		for(i=0; i<numero; i++){
			var valor = formulario.elements[i].value;
			valor = alltrim(valor);
			if((valor=="") || (valor.length==0) || (/^\s+$/.test(valor))){
				alert("No puede haber campos vacíos");
				return false;
			}
			if ((i==0 || i==1 || i==2) && (!caracteres.test(valor))){
				alert("Contenido de los datos personales no válido");
				return false;
			}
			if ((i==4) && (!(dni.test(valor)) || (valor.charAt(8) != letras[(valor.substring(0,8))%23]))){
				alert("Dni no válido");
				return false;
			} 
			if ((i==5) && (!(mail.test(valor)))){
				alert("E-mail no válido");
				return false;
			}
		}
		return true;
	}
</script>
</head>
<body>
	<div id="contenedor">
		<?php include("menuAdm.php"); ?>
		<div id="cuerpoAdmin" align="center">
			
			<br>
			<form onSubmit="validar(this);" name="altaTecnico" method="post" action="IDU/insertTecnico.php">
				<table align="center" cellspacing="10px">
					<tr align="center">
						<td>Nombre:</td>
						<td><input type="text" name="nombre"></td>
					</tr>
					<tr align="center">
						<td>Apellido 1:</td>
						<td><input type="text" name="apellido1"></td>
					</tr>
					<tr align="center">
						<td>Apellido 2:</td>
						<td><input type="text" name="apellido2"></td>
					</tr>
					<tr align="center">
						<td>Dni:</td>
						<td><input type="text" name="dni"></td>
					</tr>
					<tr align="center">
						<td>E-mail:</td>
						<td><input type="text" name="mail"></td>
					</tr>
					<tr align="center">
						<td>Equipo:</td>																					
						<td><select name="equipo">
								<optgroup label="Equipos existentes">
								<?php
									include("../auxi/conexionbd.php");
									$conexion = conectaBD();
									$sql = "select nombre,categoria from equipo";
									$resultado = mysql_query($sql,$conexion);
									while ($row=mysql_fetch_array($resultado)){
										printf ("<option>%s&nbsp;(%s)</option>",$row["nombre"],$row["categoria"]);
									}
									mysql_free_result($resultado);
									mysql_close($conexion);
								?>
								</optgroup>
							</select></td>
					</tr>
					<tr align="center">
						<td>Funci&oacute;n:</td>
						<td><select name="funcion">
								<optgroup label="Funciones existentes">
									<option>entrenador</option>
									<option>delegado</option>
								</optgroup>
							</select></td>
					</tr>
					<tr>
						<td colspan="2" align="center"><input type="submit" name="enviar" value="Introducir t&eacute;cnico">
						<input type="reset" name="cancelar" value="Cancelar"></td>
					</tr>
				</table>
			</form>		
		</div>
		<?php include("../include/pie.php"); ?>				
	</div>
</body>
</html>