Foros del Web » Programando para Internet » Javascript »

El DOM me trae loco

Estas en el tema de El DOM me trae loco en el foro de Javascript en Foros del Web. Hola a tod@s! Hace unos momentos, gracias a la ayuda del foro, he resuelto un problema con la validación de un formulario. Y ya se ...
  #1 (permalink)  
Antiguo 11/02/2008, 11:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 17 años, 2 meses
Puntos: 2
El DOM me trae loco

Hola a tod@s!

Hace unos momentos, gracias a la ayuda del foro, he resuelto un problema con la validación de un formulario.

Y ya se sabe se cierra una puerta y se abre otra (var puerta = problema)

Y al intentar ejecutar esta función al no cumplir uno de los requisitos para el login:
Código PHP:
function reafirma(){
var 
document.createElement("p");
var 
text document.createTextNode("Email no válido");
r.appendChild(text);
var 
ant document.body.getElementsByTagName("p")[0];
document.body.insertBefore(r,ant);

no me funciona,....
en cambio, utilizando este código:
Código PHP:
function reafirma(){
var 
document.createElement("p");
var 
text document.createTextNode("Email no válido");
r.appendChild(text);
var 
ant document.body.getElementsByTagName("img")[0];
document.body.insertBefore(r,ant);

funciona, es decir se escribe el mensaje que deseo, pero no en el sitio que yo deseo.

El código del form es el siguiente:
Código PHP:
<form id="cont" action="login.php" method="post" onsubmit="return v(this)">
        <
p>E-mail: <input id="col" type="text" name="email" value="" /></p>
  
        <
p>Password: <input id="col1" type="password" name="password" value="" /></p>
 
        <
input class="boton" type="submit" value="Login" /> 
Lo intenté también poniendole Id a los párrafos, pero tampoco funciona,...

?Alguién sabe dónde está el truco?
  #2 (permalink)  
Antiguo 11/02/2008, 13:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: El DOM me trae loco

Hola:

Lo de los nodos no es muy complicado, pero xí es estricto... en el primer caso, tal vez no tengas ningún párrafo dependiente del body, y sí alguna imagen... lo de los id's es lo más recomendable, pero si tienes un elemento, y lo quieres poner antes, puedes asegurarte con su padre...

var ant = document.body.getElementsByTagName("p")[0];
ant.parentNode.insertBefore(r,ant);

Si quieres que sea el primer elemento en el formulario, sería (con form name="cont"):

f = document.forms.cont;
f.insertBefore(r, f.firstChild);

En los foros hemos dado respuestas a muchas dudas sobre el DOM, si buscas seguro que encontrarás muchas respuestas válidas... y por cierto, me alegro que hayas solucionado tu otro problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/02/2008, 02:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: El DOM me trae loco

Yo también me alegré tremendamente de ver que funcionaba, estoy en esto completamente por hobby desde hace 3 meses y es increíble.

Probaré lo que me comentasté de DOM.

Muchas gracias.

Saludos!
  #4 (permalink)  
Antiguo 14/02/2008, 11:33
Teq
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 11 meses
Puntos: 0
Mensaje Re: El DOM me trae loco

Hola donfalcone este es mi tercer mensaje en el foro pero hace diez años que soy programador.

Si no querés complicarte con el DOM te sugiero que utilices JQuery en jquery.com.
También está Prototype en prototypejs.org.

Una de las cosas más simples y básicas es que podés reemplazar
Código:
document.getElementById('ElementoDOM')
por
Código:
$('#ElementoDOM')[0]
para llegar al DOM pero si utilizás $('#ElementoDOM') podés insertar en donde se te ocurra con los metodos JQuery.

Saludos
  #5 (permalink)  
Antiguo 14/02/2008, 17:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: El DOM me trae loco

Cita:
Iniciado por Teq Ver Mensaje
Hola donfalcone este es mi tercer mensaje en el foro pero hace diez años que soy programador.

Si no querés complicarte con el DOM te sugiero que utilices JQuery en jquery.com.
También está Prototype en prototypejs.org.

Una de las cosas más simples y básicas es que podés reemplazar
Código:
document.getElementById('ElementoDOM')
por
Código:
$('#ElementoDOM')[0]
para llegar al DOM pero si utilizás $('#ElementoDOM') podés insertar en donde se te ocurra con los metodos JQuery.

Saludos
Hola Teq:

Bienvenido a los foros :

Hemos charlado algo sobre las librerías: Que libreria JS utilizas?

Y creo que el DOM no es tan complicado como para pasarlo por alto... y depender de una librería, que nadie sabe lo efímera que vaya a ser, creo que no es muy aconsejable.

Además, recorrer el documento con el DOM no es tan difícil.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:03.