Foros del Web » Programando para Internet » Javascript »

Validacion de formulario en script aparte

Estas en el tema de Validacion de formulario en script aparte en el foro de Javascript en Foros del Web. Hola a todos, Estoy haciendo un formulario de alta de usuarios, en un formulario en HTML pero con "trozos" en PHP ya que algunas listas ...
  #1 (permalink)  
Antiguo 11/02/2008, 05:00
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 2 meses
Puntos: 0
Validacion de formulario en script aparte

Hola a todos,

Estoy haciendo un formulario de alta de usuarios, en un formulario en HTML pero con "trozos" en PHP ya que algunas listas las relleno con campos de la BD, entonces el archivo es... nuevousuario.php.

Ahora bien, quiero incluir validación de los datos. Si pongo la funcion de validar entre <head> y </head> funciona, pero a mi me gustaría tenerlo en un fichero aparte donde estaran las demas funciones javascript. Entonces si hago un include de ese fichero, ya no lo coje...

Espero que se pueda hacer, pero no sé como.... Creo que todo está bien, la ruta del archivo, los nombres de las funciones pero no sé...

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<script language="JavaScript" src="/Local/includes/validacions.js" type="text/javascript"> </script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<? include "connexio.php";
$db=conectarse(); ?>
<form name="formusuari" method="post" action="altaUsuari.php" onSubmit="return validarUsuari([B]THIS[/B])">
<table width="84%"  border="1" cellspacing="2" cellpadding="2">
  <tr>
    <td colspan="4">Alta Nou Lector </td>
    </tr>
  <tr>
    <td width="24%">N&uacute;mero de lector:</td>
    <td width="24%"><input type="text" name="numLect" size="8"></td>
    <td width="27%">N&uacute;mero d'Expedient </td>
    <td width="25%"><input type="text" name="numExp" size="8"></td>
  </tr>
  <tr>
    <td>Nom</td>
    <td><input type="text" name="nom"></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>1er Cognom </td>
    <td><input type="text" name="cognom1"></td>
    <td>2on Cognom </td>
    <td><input type="text" name="cognom2"></td>
  </tr>
  <tr>
    <td>Adre&ccedil;a</td>
    <td colspan="2"><input type="text" name="adresa" size="30"></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>Codi Postal</td>
    <td><input type="text" name="cp" size="5"></td>
    <td>Poblacio</td>
    <td><input type="text" name="poblacio"></td>
  </tr>
  <tr>
    <td>Data de Naixement </td>
    <td><select name="dia">
   <option value="Dia" selected>Dia</option>
   <? for ($dia=1$dia<=31$dia++){ ?>
   <option value="<?=$dia?>"><?=$dia ?></option>
   <? ?>      
   
   </select> 
   <select name="mes">
     <option value="Mes" selected>Mes</option>
     <option value="01">Gener</option> <option value="02">Febrer</option> <option value="03">Mar&ccedil;</option>
     <option value="04">Abril</option> <option value="05">Maig</option> <option value="06">Juny</option> <option value="07">Juliol</option>
     <option value="08">Agost</option> <option value="09">Setembre</option> <option value="10">Octobre</option>
     <option value="11">Novembre</option> <option value="12">Desembre</option>
   </select>
   <input name="any" type="text" value="1900" size="4" maxlength="4"></td>
    <td>Correu electr&ograve;nic </td>
    <td><input type="text" name="email"></td>
  </tr>
  <tr>
    <td>Tipus d'Usuari </td>
    <td><select name="tipus">
    <option value="0">Escull...</option>
    <? $cons "SELECT  * FROM `perfils`";
       
$res mysql_query ($cons,$db);
       while (
$fila mysql_fetch_array ($res)){?>
       <option value="<?=$fila["IdPerfil"]?>"><?=$fila["NomPerfil"]?></option>
        <? }?>
    </select></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>Idioma</td>
    <td><select name="idioma">
    <option value="0">Escull...</option>
    <? $cons "SELECT  * FROM `idiomes`";
       
$res mysql_query ($cons,$db);
       while (
$fila mysql_fetch_array ($res)){?>
       <option value="<?=$fila["CodiIdioma"]?>"><?=$fila["Idioma"]?></option>
        <? }?>
    </select></td>
    <td>Curs</td>
    <td><select name="curs">
    <option value="0">Escull...</option>
    <? $cons "SELECT  * FROM `cursos` ORDER BY CodiCurs";
       
$res mysql_query ($cons,$db);
       while (
$fila mysql_fetch_array ($res)){?>
       <option value="<?=$fila["CodiCurs"]?>"><?=$fila["Curs"]?></option>
        <? }?>
    </select></td>
  </tr>
  <tr>
    <td>Comentaris</td>
    <td colspan="3" rowspan="2"><textarea name="comentari" cols="50" rows="2">&nbsp;</textarea></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input name="Submit2" type="text" value="Cancelar"></td>
    <td><input type="submit" name="Submit" value="Aceptar"></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
</body>
</html>
validacions.js

Código:
function validarUsuari(f) {
	
  if (f.nom.value.length == '') {
    alert("Has d'escriure el nom de l'usuari.");
    f.nom.focus();
    return (false);
  }
}
Gracias

Yo me pregunto, yo me respondo.. jejeje Bueno... he visto que el problema seria con el parametro "f" y luego me he dado cuenta de que no le pasaba el formulario a la función.

De todas formas, véis correcto que se trabaje con fichero aparte? o es mejor tenerlo todo junto?

Última edición por Elisa85; 11/02/2008 a las 05:07 Razón: Solucionado
  #2 (permalink)  
Antiguo 11/02/2008, 06:45
 
Fecha de Ingreso: marzo-2007
Ubicación: España
Mensajes: 133
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Validacion de formulario en script aparte

Hola de nuevo,
ya he hecho la validación de algunos campos, pero al llegar al campo "tipus" me he encontrado con problemas y ya no sé solucionarlo:

en el formulario tengo:
Código:
<td>Tipus d'Usuari </td>
    <td><select name="tipus">
    <option value="0">Escull...</option>
    <? $cons = "SELECT  * FROM `perfils`";
       $res = mysql_query ($cons,$db);
       while ($fila = mysql_fetch_array ($res)){?>
       <option value="<?=$fila["IdPerfil"]?>"><?=$fila["NomPerfil"]?></option>
        <? }?>
    </select></td>
y en el codigo javascript (en una fichero aparte)
Código HTML:
if (f.tipus.value==0) {
		alert("Has d'escollir un tipus d'usuari.");
		f.tipus.focus();
		return (false);
  	}
He probado tanto f.tipus.value=="0", con comillas dobles, simples y sin comillas... He comprobado, mediante un "alert" q valor trae f.tipus.value y me muestra un 0.

Se os ocurre algo?
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 20:30.