JavaScript - JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

 
Vista:

JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Rossana (3 intervenciones) el 19/05/2010 15:12:12
Hola a todos....bueno tengo un problema del cual no me he podido deshacer...heee googleado como nunca y la verdad no encuentro ninguna respuesta que me resuelva la duda. Bueno vamos al grano...pretendo cargar contenido dinamicamente mediante JQuery utilizando la siguiente función:

function llamarPagina(){
$.ajax({
type: 'GET',
url: 'form.php',
success: function(msg){
$("#centralaut").html(msg);
}
});
}

la cual me carga la pagina "form.php" en el div "centralaut" todo bien si se trata de texto o contenido html, pero la pàgina form, corresponde a un formulario validado mediante la utilización de "vanadium.js" que es un plugin de JQuery para validación de formularios....aca el codigo del formulario

<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" class=":required"/>
</label>
<p>
<label>
<input type="submit" name="Submit" value="Enviar" />
</label>
</p>
</form>

el comando class=":required" me valida el cajon diciendo que es obligatorio, para efecto debo incluir tanto jquery como vanadium para que funciones, generalemnte lo hacia entre head y head de la página, pero como quiero carga dinamicamente solo dejo el codigo del form, y el padre tiene las demas etiquetas, sin embargo no me funciona añadiendo las librerias en el head de la pagina que carga el formulario...nose como solucionarlo. Espero y agradecería una respuesta, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Andres (20 intervenciones) el 19/05/2010 19:22:54
Hola Rossana, el problema está, según entiendo, en que cuando se ejecuta el script de validación, el formulario todavía no existe. Lo que yo particularmente hago es llamar dentro de la función success el plugin de jquery:

success: function(msg){
$("#centralaut").html(msg);
// ejecutar librería
$(mi_formulario).elplugin()
}

Espero que sea la solución.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Rossana (3 intervenciones) el 20/05/2010 00:17:40
Hola gracias por la respuesta =)

mira así me quedó luego de aplicar los cambios según entendi:

function llamarPagina(){
$.ajax({
type: 'GET',
url: 'form.php',
success: function(msg){
$("#centralaut").html(msg);
jQuery.getScript('jquery.js');
jQuery.getScript('vanadium.js');
$(form.php).vanadium.js()
}
});
}

El resultado, es similar a algo que intentaba antes tambieé llamando las librerías
con getScript, en mozilla firefox me carga el formulario, en una primera instancia me valida el cajón, pero si lo cargo otra vez no lo validad, a la tercera lo vuelve a validar, y así sucesivamente, es decir me lo validad "cargada" por medio. En el caso de IE no me toma la validación para nada. Cabe decir que en mozilla tampoco me lo valida de la misma forma que me lo valida si ejecuto el formulario en una pagina aparte...ayuda por fis que no he encontrado solución googleando.Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Andres (20 intervenciones) el 20/05/2010 13:46:07
En este caso no haría falta volver a cargar el jquery.js y el vanadium.js, ya que se cargan en el header. Solamante hay que llamar la inicialización del plugin:

function llamarPagina(){
$.ajax({
type: 'GET',
url: 'form.php',
success: function(msg){
$("#centralaut").html(msg);
// Plugin
$(form.php).vanadium.js()
}
});
}

en secuencia:

1 - Se carga la página con los scripts -jquery y vanadium (en header)-
2 - se carga el formularios vía ajax
3 - una vez cargado (success), se llama el plugin.

Otra forma:
- siempre cargando jquery y vanadium en header -

en el form.php

<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" class=":required"/>
</label>
<p>
<label>
<input type="submit" name="Submit" value="Enviar" />
</label>
</p>
</form>

<script type="text/javascript">
// el script luego del form
$('#form1').vanadium.js();
</script>

Saludos,
Andres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Rossana (3 intervenciones) el 22/05/2010 01:20:38
Hola Andres, gracias por las respuestas pero la verdad no me funciona, de ninguna de las dos formas.

en la primera opción me queda así el <head> </head> En la página padre, el formulario lo dejo intacto. De esta forma me carga el formulario pero sin validación...el formulario para que funcione su validación utiliza tanto jquery como vanadium.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="funciones.js" language="JavaScript"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="vanadium.js"></script>

<script type="text/javascript">
function llamarPagina(){
$.ajax({
type: 'GET',
url: 'form.php',
success: function(msg){
$("#centralaut").html(msg);
$(form.php).vanadium.js()
}
});
}

</script>
</head>

Con la segunda opción dejo el mismo <head></head> en la página padre...y al formulario agrego lo siguiente:

<script type="text/javascript">
// el script luego del form
$('#form1').vanadium.js();
</script>

incluso tambien le añadi jquery de la misma manera para ver si funcaba, pero nada..tiene mucho sentido tu respuesta pero algo pasa que no funciona...bueno si me pudieras seguir ayudando, sino te agradesco por las respuestas..saludos =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:JAVASCRIPT y CARGAR CONTENIDO DINAMICAMENTE

Publicado por Andres (20 intervenciones) el 27/05/2010 20:02:00
Hola Rossana, me di una vuelta por el sitio de Vanadium y vi que no existe una inicialización de dicho plugin, solamente se carga y detecta los attr class marcados.
Si estoy en lo cierto, el error es mio. Por lo tanto probemos lo siguiente, parecido a tu propuesta:

1-Probamos NO cargar el vanadium en el head (siempre que no exista nigun formulario ya cargado)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script src="funciones.js" language="JavaScript"></script>
<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">
function llamarPagina(){
$.ajax({
type: 'GET',
url: 'form.php',
success: function(msg){

// Carga contenido
$("#centralaut").html(msg);

//llama el script -> ver que la ruta sea la correcta
$.getScript("vanadium.js",function(){
//ver si se carga correctamente, luego eliminar el alert
alert("cargado");
});
}
});
}

</script>
</head>
-------------------------------------------
2 - Segunda opcion:

en el form.php

<script type="text/javascript" src="vanadium.js"></script>

<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="textfield" class=":required"/>
</label>
<p>
<label>
<input type="submit" name="Submit" value="Enviar" />
</label>
</p>
</form>

-- O bien:

<script type="text/javascript">
// el script luego del form
$.getScript("vanadium.js");
</script>

Comentario:
Al cargar el plugin primero, el formulario aún no existe, por lo tanto no lo detecta. La opción sería cargar el form y luego el script. La expresión $(form.php).vanadium.js(), por lo menos en los ejemplos que hay en la red no la vi.
Para debuguear, lo que yo hago es utilizar la consola de error del firefox y poner un alert en cada evento en el proceso para saber si voy bien y no me comi nada.

Bueno Rossana, espero que por fin funcione, si es así, posteá la opción que utilizaste.
Saludos.
Andrés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar