Foros del Web » Programando para Internet » Javascript »

validacion de campos de texto

Estas en el tema de validacion de campos de texto en el foro de Javascript en Foros del Web. Hola bueno me gustaria que me ayuden con una validacion de campos, es decir, quisiera comparar 2 campos de texto, como se usan por ejm ...
  #1 (permalink)  
Antiguo 19/02/2010, 15:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 14 años, 11 meses
Puntos: 0
validacion de campos de texto

Hola bueno me gustaria que me ayuden con una validacion de campos, es decir, quisiera comparar 2 campos de texto, como se usan por ejm en registros donde ingresas 2 veces tu contraseña... tengo el siguiente codigo:

Código HTML:
<form name="fomulario" method="post" action="respuesta.php">
valor1
<input type="text" name="campo1" id="campo1">
<br />
valor2
<input type="text" name="campo2" id="campos2">
<br />
valor3
<input type="text" name="campo3" id="campos3">
<br />
<input type="submit" name="enviar" value="Enviar">
</form> 
quisiera comparar los valores 1 y 2 (para que sean iguales) y si me pudieran decir tambien cual es el evento necesario a utilizar para que cuando cambie del valor 2 al 3 (haciendo clic o tab por ejm) me diga que los valores 1 y 2 son diferentes (en caso sea asi).. se que se hace con javascript, pero no conosco mucho aun sobre este lenguaje, solo cosas basicas... si me pudieran ayudar con esto. Gracias

PD: quisiera saber que navegadores soportan bien el javascript pues se que mozilla no los interpreta bien... me gustaria saber que opinion tienen al respecto y que navegadores me recomiendan (ahora estoy usando Mozilla Firefox y Google Chrome)
  #2 (permalink)  
Antiguo 19/02/2010, 15:17
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: validacion de campos de texto

Los navegadores que nombraste, interpretan perfectamente el codigo javascript. Esta en vos hacerlo compatible con TODOS los navegadores!
En cuanto a lo que necesitas:

Código HTML:
<form name="fomulario" method="post" action="respuesta.php">

<input type="text" name="campo1" id="campo1" onblur="valida(this.value);" />
<br />

<input type="text" name="campo2" id="campos2" onblur="valida(this.value);" />
<br />

<input type="text" name="campo3" id="campos3" />
<br />

<input type="submit" name="enviar" value="Enviar" />
</form> 
Y el javascript:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var campo = null;
  3.  
  4. function valida(val){
  5.  
  6.     if(campo != null){
  7.         if(campo != val){
  8.             alert('Ambos campos deben ser iguales!');
  9.             campo = null;
  10.             return false;
  11.        }else{ return true; }
  12.     }else{
  13.         campo = val;
  14.         return;
  15.     }
  16. }
  17. </script>
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 20/02/2010, 13:08
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: validacion de campos de texto

ola bueno gracias por el dato y por el codigo, en cierta forma funciona, pero no es lo q busco, por ejemplo al colocar algun texto en el 1er campo y al cambiar al siguiente campo (valor 2) ya me manda el mensaje de que ambos campos deben ser iguales, aun sin haber escrito nada, no es lo q buscaba exactamente, sino q al colocar algun texto en el campo 1 y luego lo compare con el campo 2 para que al ser iguales cambiar inmediatamente al campo 3 y no muestre nada en caso contrario me diga que dichos campos son distintos, mostrando un mensaje de error

creo que me dejo entender.. bueno espero me puedan ayudar y gracias
  #4 (permalink)  
Antiguo 20/02/2010, 13:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: validacion de campos de texto

puede que te funcion esta funcion

Código:
function validar2campos(form)

{

    if(form.campo2.value == form.campo1.value)

    { form.submit(); }

    else

    {

    alert("El texto ingresado en los campos no coincide");

    form.campo2.value = ""; form.campo2.focus(); return false;

    }

}
Código HTML:
<form>

Campo1: <input type="text" name="campo1"><br>

Campo2: <input type="text" name="campo2"><br>

<input type="submit" value="comparar" onClick="validar2campos(this.form)">

</form> 
Saludos,
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;

Última edición por easy; 20/02/2010 a las 14:01 Razón: me quivoque en el return true, deberia de ser return false
  #5 (permalink)  
Antiguo 20/02/2010, 15:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 14 años, 11 meses
Puntos: 0
De acuerdo Respuesta: validacion de campos de texto

gracias x el codigo, en cierta forma si funciona esta vez, no exactamente como queria, pero vere si lo puedo adaptar a lo que quiero exactamente... aunq seria bueno si alguien me pudiera decir como hacer para q al cambiar de campo 2 al campo 3 x ejm me mande que campo 1 y 2 son distintos (con solo cambiar con clic o tab).

Gracias de todas maneras (Y)
  #6 (permalink)  
Antiguo 20/02/2010, 15:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: validacion de campos de texto

El codigo que te pase es totalmente adaptable para que le sumes los campos que quieras, siempre recuerda esto, si cambias al campo 3 es decir si le pones otro campo y cambias del campo 2 al 3 en lugar de hacerlo por submit hazlo por focus();

Código:
function validar() {
	if  (document.formulario.campo1.value.length==0){
		alert("texto a mostrar")
       document.formulario.campo1.focus()
       return false;
	}
        if  (document.formulario.campo2.value.length==0){
		alert("texto a mostrar")
       document.formulario.campo2.focus()
       return false;
	} else {
        if  (document.formulario.campo1.value!=document.formulario.campo2.value){
		alert("texto a mostrar")
       document.formulario.campo2.focus()
       return false;
                   }
        }
        if  (document.formulario.campo3.value.length==0){
		alert("texto a mostrar")
       document.formulario.campo3.focus()
       return false;
	}
	return true;
}
y al lado del boton submit pon:
Código:
 onclick="return validar()"

Algo asi, pruebalo y me cuentas

Saludos y recuerda mi karma :) ,
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;
  #7 (permalink)  
Antiguo 20/02/2010, 16:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: validacion de campos de texto

mmm bueno no te entendi mucho lo q kerias decir, de todas maneras copie el ultimo codigo q enviaste y no sucede nada, con el anterior agregue un campo mas pero pasa lo mismo q me paso al principio, al estar en el campo 1 y colocar texto, cuando cambio al campo 2 ya me manda que los campos son diferentes, sin poner nada en el campo 2, y eso que el focus q me dices lo coloque en el campo 2, exactamente no he entendi mucho esto de los atributos del input ya q siempre he tenido problema con estos, no se si me pueden hechar una mano, porque la verdad ya me perdi mas :/, gracias x la ayuda
  #8 (permalink)  
Antiguo 20/02/2010, 16:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: validacion de campos de texto

en que parte te perdiste??
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;
  #9 (permalink)  
Antiguo 20/02/2010, 16:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: validacion de campos de texto

aqui te dejo el codigo completo

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script language="javascript" type="text/javascript">
<!--
function validar() {
	if  (document.formulario.campo1.value.length==0){
		alert("texto a mostrar campo1")
       document.formulario.campo1.focus()
       return false;
	}
        if  (document.formulario.campo2.value.length==0){
		alert("texto a mostrar campo2")
       document.formulario.campo2.focus()
       return false;
	} else {
        if  (document.formulario.campo1.value != document.formulario.campo2.value){
		alert("texto a mostrar que no son iguales");
       document.formulario.campo2.focus()
       return false;
                   }
        }
        if  (document.formulario.campo3.value.length==0){
		alert("texto a mostrar campo3")
       document.formulario.campo3.focus()
       return false;
	}
	return true;
}
//-->
</script>
</head>

<body>
<form name="formulario" action="1.php" method="post" >
Campo 1:&nbsp;&nbsp;<input name="campo1" type="text" />
&nbsp;&nbsp;&nbsp;
Campo 1:&nbsp;&nbsp;<input name="campo2" type="text" />
&nbsp;&nbsp;&nbsp;
Campo 1:&nbsp;&nbsp;<input name="campo3" type="text" />
&nbsp;&nbsp;&nbsp;
<input type="submit" value="Comprobar" onclick="return validar()" />
</form>
</body>
</html> 
espro que lo hayas entendido
pero de todas maneras debes poner en que parte no entendiste para que otros en el foro sepan cual es tu error

Saludos y un gracias pueden valer

P.D.: No te olvides de mi karma :)
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;

Última edición por easy; 20/02/2010 a las 16:37
  #10 (permalink)  
Antiguo 20/02/2010, 16:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: validacion de campos de texto

Hola:

La estructura de validación de formularios con javascript es desde el evento submit, y no desde el click de un botón... El abc de los formularios

simplemente en el tag form:

<form onsubmit="return validar(this)"...

Lo del this es preferible y facilita la reutilización.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #11 (permalink)  
Antiguo 20/02/2010, 17:12
 
Fecha de Ingreso: mayo-2009
Mensajes: 55
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: validacion de campos de texto

ok gracias x la ayuda (Y) y perdonen x demorar en responder, pero lo podre leer mas tarde, asi podre darme tiempo y leerlo con trankilidad, gracias de todas maneras y luego les responde que tal me fue... Saludos!!
  #12 (permalink)  
Antiguo 20/02/2010, 17:19
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: validacion de campos de texto

Gracias caricatos (maestro de javascript), tienes razón se deberia hacer en la primera etiqueta <form y con evento onsubmit

Saludos
__________________
$ayudar = 'ayudar es compartir';
echo $ayudar;
  #13 (permalink)  
Antiguo 30/09/2010, 22:24
Avatar de jlomss  
Fecha de Ingreso: diciembre-2008
Mensajes: 38
Antigüedad: 15 años, 3 meses
Puntos: 1
validaciones en funcionan iexplorer y firefox no javascript

Hola amigos quisiera saber por que en internet explorer funciona a la perfeccion la validacion de los campos y en firefox no, ni siquiera salen las alertas.

<form id="form2" name="form2" method="post" onsubmit="return checkFields();" action="formulario_trabajadores.php">
<script language="JavaScript">

<!-- Begin
function checkFields() {
missinginfo = "";
if (document.form2.nombre.value == "") {
missinginfo += "\n - nombre";
}

if ((document.form2.email.value == "") ||
(document.form2.email.value.indexOf('@') == -1) ||
(document.form2.email.value.indexOf('.') == -1)) {
missinginfo += "\n - Email";
}
if(form2.confirma_correo.value != form2.email.value)
{
alert("El email ingresado no coincide");
form2.confirma_correo.value = ""; form2.confirma_correo.focus(); return false;
}
if ((document.form2.pagina.value == "") ||
(document.form2.pagina.value.indexOf("http://") == -1) ||
(document.form2.pagina.value.indexOf(".") == -1)) {
missinginfo += "\n - pagina";
}
if(document.form2.cel.value == "") {
missinginfo += "\n - cel";
}
if(document.form2.tel.value == "") {
missinginfo += "\n - tel";
}
if(document.form2.nombre_empresa.value == "") {
missinginfo += "\n - Nombre Empresa";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Te ha faltado introducir los siguientes datos:\n" +
missinginfo + "\n_____________________________" +
"\n¡Por favor pulsa enter, rellena los datos y prueba de nuevo!";
alert(missinginfo);
return false;
}
else return true;
}
// End -->
</script>

<input type="submit" value="Enviar" name="btTutorial" disabled/>
</p>
</fieldset>
</form>
  #14 (permalink)  
Antiguo 01/10/2010, 01:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: validacion de campos de texto

Hola:

En algunas partes tienes form2 sin anteponer que es parte del documento (document.form2)...

Y por cierto, no reabras viejos temas para nuevas consultas...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 02/10/2010 a las 01:36

Etiquetas: campos
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 18:19.