Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Validar formulario php llamando un .js

Estas en el tema de Validar formulario php llamando un .js en el foro de Javascript en Foros del Web. Buenas! Estoy haciendo un formulario con php y postgres. He perdido varios dias intentando hacer la validacion, el problema es que la validacion debe ser ...
  #1 (permalink)  
Antiguo 10/05/2009, 14:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Validar formulario php llamando un .js

Buenas!
Estoy haciendo un formulario con php y postgres. He perdido varios dias intentando hacer la validacion, el problema es que la validacion debe ser desde un formulario php que llama a un archivo .js por ejemplo javascript.js, la validacion debe hacer lo siguiente:
Tengo diferentes campos, ya sean de solo numeros, de solo letras, e-mail, etc. La cosa es que al hacerle click al campo, este debe ponerse en rojo y cuando el usuario ingrese los caracteres correctos este sera de color blanco.


Tengo el siguiente formulario que quiero validar:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
<style type="text/css">
<!--
.Estilo1 {
color: #000099;
font-style: italic;
}
-->
</style>
</head>

<body>
<script language='javascript' src="javascripts.js"></script>
<table width="341" height="291" border="4" align="center" cellpadding="0" cellspacing="2" bordercolor="#000000" bgcolor="#CCCCCC">
<tr>
<td width="587" bgcolor="#CCCCCC"><form id="form1" name="form1" method="post" action="">
<p>&nbsp;</p>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td height="50"><div align="center">Nombre </div></td>
<td height="50"><p align="center">
<input name="nombre" type="text" id="nombre" onFocus="obligatorio(this)" onKeyPress="obligatorio2(this)"/>
</p> </td>
</tr>
<tr>
<td height="50">Cedula</td>
<td height="50"><p>
<input name="cedula" type="text" id="cedula" onClick="return msn()" />
</p> </td>
</tr>
<tr>
<td height="50">Tipo Usuario</td>
<td height="50"><div align="center">
<select name="tipoUsuario">
<option selected>principal</option>
<option>consultor</option>
</select>
&nbsp;</div></td>
</tr>
</table>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td><div align="right" class="Estilo1"><a href="cambiarContrasena.php">cambiar contrase&ntilde;a </a></div></td>
</tr>
</table>
<p>&nbsp;</p>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td><div align="center">
<input name="ingresar" type="button" value="Ingresar">
&nbsp;</div></td>
</tr>
</table>
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
</form> </td>
</tr>
</table>
</body>
</html>

Este esta conectado al archivo javascripts.js, las funciones que llamo desde el campo nombre me sirven, lo que hace es poner este campo en rojo y valida solo que no este vacio, cuando este no esta vacio cambia a blanco, las funciones que estan en el .js son estas:

function obligatorio(obj) {
if (obj.value=='') {
if ((document.all)||(document.getElementById)) {
obj.style.backgroundColor = '#993300';
}
}
else {
if ((document.all)||(document.getElementById)) {
obj.style.backgroundColor = '#FFFFFF';
}
}
}

function obligatorio2(obj) {
if (obj.value!='') {
if ((document.all)||(document.getElementById)) {
obj.style.backgroundColor = '#FFFFFF';
}
} else {
if ((document.all)||(document.getElementById)) {
obj.style.backgroundColor = '#993300';
}
}
}

La verdad no entiendo muy bien su funcionamiento, si me podrian comentar sobre el objeto document me gustaria mucho.

Y ahora en el campo cedula quise hacer algunas pruebas:

function msn(){
alert("Hola.");
}

Esta funcion esta en el archivo .js. La llamo desde el campo cedula por medio del evento onClick, trato de sacar ese mensaje pero no sale.

Como saco un mensaje hacia el formulacio desde un .js?

Y como hacer esta validacion de forma correcta?

Gracias...
  #2 (permalink)  
Antiguo 11/05/2009, 07:45
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Validar formulario php llamando un .js

no podes usar jquery? esos codigos js son para dolores de cabeza, siempre es mejor usar algo ya hecho y super probado, despues hay muchos plugins ya hecho para validar formularios con jquery
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 11/05/2009, 08:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Validar formulario php llamando un .js

Buenas!
Emiliodeg gracias por su respuesta, bueno pues si, puedo usar lo que sea, el cuento esta en que javascript debe estar separado del codigo php o html. Me podria indicar como trabajo con jQuery y si puedo hacer la validacion que necesito?
Esa de pintar los campos y todo?
Me haria un grande favor si me indica como, como les digo llevo ya tiempo intentandole a eso y pues no he hallado la manera de encontrar exactamente lo que necesito. Y pues se acorta el tiempo de entrega.
Gracias...
  #4 (permalink)  
Antiguo 11/05/2009, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Validar formulario php llamando un .js

Tema trasladado desde PHP Orientado a Objetos.
  #5 (permalink)  
Antiguo 29/07/2014, 10:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Validar formulario php llamando un .js

Jajaja esta pregunta la hice hace más de 5 años!!! tan tierno yo y nadie me respondió bien :( que pesar de mi, eso tan fácil que se hace con JQuery, la cosa es que en ese tiempo apenas estaba empezando con esas cosas no tenía ni la menor idea, recuerdo que esa entrega me quedo a medias y un campo no me funcionó a la hora de sustentar y cuando salí de clases y volví a intentar me funciona!! jajaj esa era una de las tantas anecdotas, pasó por aquello de la cache, era un cambio que debíamos hacer allá y tampoco tenía ni idea de que debía limpiar cache para ver los nuevos cambios (si no se veían al instante).
Bueno voy a dar por cerrado el tema que aún anda abierto :o
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:36.