Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/08/2008, 02:59
mgo3
 
Fecha de Ingreso: marzo-2007
Mensajes: 33
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Validar formularios cuando el nombre de los inputs viene dado por php

Gracias Ilie, tu respuesta me mola más... jeje, simple y sencillo, así es como me gusta, pero sigue sin ir!!, creo que lo tengo todo bien... no sé. Dándole a ver código sale todo bien.

La función de validación la tengo así:
Código PHP:
<?php 
    
echo    "function validar_formulario(formulario){";
    for(
$cont=0$cont<count($_POST['borrar']); $cont++){
        echo    
"        if(formulario.nombre".$cont.".value==''){";
        echo    
"            alert('Es necesario introducir el nombre.');";
        echo    
"            formulario.nombre".$cont.".focus();";
        echo    
"            return false;";
        echo    
"        }    ";
y el form así:
Código PHP:
<form action="editar.php" method="post" name="Registrar_usuario" onSubmit="return validar_formulario(this)">
            <?php
            
for($i=0$i<count($_POST['borrar']);$i++){
<
input name="nombre<?php echo $i; ?>" type="text" size="30" value="<?php echo $fila['nombre'];?>" /></p>
            <
p>Apellidos:&nbsp;<font color="#FF0000">*</font>&nbsp;
            <
input name="apellidos<?php echo $i; ?>" type="text" size="50" value="<?php echo $fila['apellidos'];?>" /></p>
Viendo el código fuente parece estar todo bien:
Código:
<script type="text/javascript">
	
function validar_formulario(formulario){		if(formulario.nombre0.value==''){			alert('Es necesario introducir el nombre.');			formulario.nombre0.focus();			return false;		}			if(typeof formulario.apellidos0==''){			alert('Es necesario introducir los apellidos.');			formulario.apellidos0.focus();			return false;		}		if(formulario.login0.value==''){			alert('Es necesario introducir el nombre de usuario.');			formulario.login0.focus();			return false;		}		if(formulario.pass0.value.==''){			alert('Es necesario intruducir una contraseña.');			formulario.pass0.focus();			return false;		}		if(formulario.email0.value!=''){			if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(formulario.email0.value))){				alert("La dirección de email " + formulario.email0.value + " es incorrecta.");				formulario.email0.focus();				return false;			}		}}</script>
</head>


<body>

			<form action="editar.php" method="post" name="Registrar_usuario" onSubmit="return validar_formulario(this)">

						<h2>Usuario 1</h2>
			<p>Nombre:&nbsp;<font color="#FF0000">*</font>&nbsp;
			<input name="nombre0" type="text" size="30" value="nombre" /></p>
			<p>Apellidos:&nbsp;<font color="#FF0000">*</font>&nbsp;
			<input name="apellidos0" type="text" size="50" value="" /></p>
			<p>Dirección:&nbsp;

			<input name="direccion0" type="text" size="40" value="" />
... pero algo falla porque le doy con muchos campos vacíos y me modifica el usuario y no saca ningún alert.


¿Alguna ayuda por favor?

Muchas gracias y un saludo.