Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con Prototype

Estas en el tema de Problema con Prototype en el foro de Frameworks JS en Foros del Web. Tengo un problema con la funcion $F de Prototype. Estoy re-utilizando un codigo para validar un formulario, no es la primera vez que lo hago, ...
  #1 (permalink)  
Antiguo 14/04/2009, 14:11
 
Fecha de Ingreso: enero-2009
Mensajes: 17
Antigüedad: 15 años, 9 meses
Puntos: 0
Problema con Prototype

Tengo un problema con la funcion $F de Prototype.
Estoy re-utilizando un codigo para validar un formulario, no es la primera vez que lo hago, por eso me extraña el error que me tira.

Este es el sector del codigo que me da problema:
Código HTML:
if ($F("nombre") != "") {
	paso += 1;
	$("nombre").style.border = "";
}else{
	$("nombre").style.border = "solid 1px #FF0000";
}
Si el value del input "nombre" esta vacio se remarca el borde del input para avisar que hay que completar este campo. Pero la funcion $F no me toma el value y ademas me tira este error:

Error: element.tagName is undefined

Los id de los input estan correctos, al igual que el id del form.
Si alguien me puede dar una mano se lo agradezco.

Saludos!
  #2 (permalink)  
Antiguo 14/04/2009, 15:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Respuesta: Problema con Prototype

Mensaje movido al foro de Frameworks desde Javascript.

Saludos,
  #3 (permalink)  
Antiguo 15/04/2009, 06:22
Avatar de nflamel  
Fecha de Ingreso: agosto-2005
Ubicación: Granada
Mensajes: 41
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Problema con Prototype

Es un poco difícil averiguar lo que pasa si no pones también una porción del código HTML.

Por otra parte, y si no te importa que me meta donde no me llaman, ese mismo código sería más reusable y mucho más fácil de mantener usando clases en lugar de poner el estilo "a pelo".

Código:
if ($F("nombre") != "") {
	paso += 1;
	$("nombre").removeClassName("bordeRojo");
}else{
	$("nombre").addClassName("bordeRojo");
}
Y en tu CSS añades la clase en cuestión
Código:
.bordeRojo{
 border: solid 1px #ff000;
}
Si añades algo más de código encantado en echarte un cable :D

saludos!!!
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 01:24.