[Php-avanzado] Armar cadena get en javascript

Hernán Galván hernangalvan79 en hotmail.com
Vie Feb 19 04:13:40 ARST 2010


Yo lo haría con jquery.
Un excelente tutorial para salir andando: http://www.javascriptya.com.ar/jquery/
Incluís la librería jquery como cualquier js.
Le ponés un evento onclick al submit del formulario.
Y en la función que elijas, levantás los datos que necesitás con $("#loquesea).val(); que equivaldría a un document.getElementById("loquesea").value
O sea, en un formulario quiero enviar el campo "nombre"...
entonces, con jquery, en la función con la que se dispara el evento onclick del formulario sería algo así:

function procesarFormulario(){
    //Acá levantás los valores de los campos que necesites...
    var nombre = $("#loquesea).val();
    //Acá está el ajax...
    $.ajax({
           async:true,
           type: "POST",
           dataType: "html",
           contentType: "application/x-www-form-urlencoded",
           url:"pagina1.php", //Donde pagina1.php es el lugar adonde vas a procesar los datos
           data:"nombre="+nombre, //Acá armás la cadena con los datos (como si fuera una uri... "nombre=lucas&apellido=cualquiercosa" etc.)
           success:llegadaDatos, //La función que se ejecuta si todo fué ok.
           timeout:4000,
         }); 
   return false;
}

En pagina1.php levantas los datos con $_POST['nombre'] y hacés lo que quieras hacer, guardas los datos en en una bdd o lo que sea...

Y en el mismo archivo js hacés la función que se ejecuta si todo fué ok con el ajax.

function  llegadaDatos(a){
    //La variable "a" es el resultado de la salida de pagina1.php. Por ejemplo, hacés una carga a la bdd y un print "los datos se han guardado."
    //"a", siempre es la variable que contiene la salida del php, en este caso "los datos se han guardado".
    var x = $(#resultado); //el div con id "resultado" es donde querés que te muestre el resultado de la carga del formulario.
    x.html(a); //En el div "resultado" escribo lo que está en la variable "a", o sea "los datos se han guardado".
}

Depende de lo que quieras hacer, en realidad, en el action del form podés no poner nada (o "#"), levantar los datos de los inputs del form mediante los ids, 
pasarlos a un php que los procesa, y mostrar el resultado en un div, todo eso sin recarga de página.
En fin, pegale una mirada al tutorial que jquery es una bomba!, y te olvidás del xmlhttprequest
Es algo como eso lo que querías hacer o nada que ver?
Abrazo!

> Date: Thu, 18 Feb 2010 21:00:13 -0300
> From: thelookus en gmail.com
> To: php-avanzado en pato2.fi.mdp.edu.ar
> Subject: [Php-avanzado] Armar cadena get en javascript
> 
> Hola, tengo el siguiente asunto:
> 
> Tengo una suerte de panel de control, en el que tengo un menu a la 
> izquierda y voy trayendo el contenido correspondiente en un div a la 
> derecha con una funcion javascript y con xmlhttprequest (cuanta vuelta 
> para no decir ajax...) bué, en fin...
> 
> Se me sucitó el siguiente problema.
> 
> En la carga de registros, al momento de hacer el submit, me manda 
> obviamente al destino que tenga el "action" del form. Yo quiero evitar 
> esto, ya que quiero traer el contenido de la pagina de destino del form, 
> en la que se procesa la carga, pero no quiero salir de la estructura que 
> tengo, osea, quiero que se muestre la pagina del action en el div que 
> uso como contenedor...me explico?
> 
> Bueno, pensé en pasar los parámetros vía get armandolos desde una 
> función js pero cada parametro esta dentro de un input hidden, a su vez 
> dentro de un div para cada parametro...
> Bueno, quería saber si alguien tuvo el mismo embrollo y como desenredó 
> su madeja....
> 
> Gracias.
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
 		 	   		  
_________________________________________________________________
Ahora chateá desde la playa con tu celu. Registrate gratis a SMS Messenger.
http://www.somosmessengersiempre.com/?ocid=TWLH
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20100219/2331c83b/attachment.htm 


Más información sobre la lista de distribución Php-avanzado