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

recoger variable con xajax

Estas en el tema de recoger variable con xajax en el foro de Frameworks JS en Foros del Web. Buenas Estoy un poco verde con xajax, ajax y con todo en general. Me he metido en un cacao yo solo y ahora no se ...
  #1 (permalink)  
Antiguo 20/01/2011, 05:30
Avatar de Mysticaliptica  
Fecha de Ingreso: abril-2007
Ubicación: Guipuzcoa
Mensajes: 35
Antigüedad: 17 años
Puntos: 0
recoger variable con xajax

Buenas
Estoy un poco verde con xajax, ajax y con todo en general.
Me he metido en un cacao yo solo y ahora no se como resolver el problema.
A ver si podeis echarme un cable. El problema puede que sea una tonteria pero no logro ver como hacerlo.

Lo que kiero es lo q indica el codigo a continuacion:

Código:
    
(... mas codigo xajax...)
switch($formulario){
        case 1:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario1");
        break;
        case 2:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario2");
        break;
        case 3:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario3");
        break;
    }
(...mas codigo xajax...)
Lo que pasa es que $formulario es una variable que se establece en una funcion JQuery. Es esta:

Código:
$(".aplicar").click(function(){

            elemento = "#" + $(this).attr("id");
            numero = parseInt($(elemento).attr("id").charAt(8));
            //Libreria JQuery Alerts
            jConfirm("Estas a punto de editar tu perfil. ¿Estas seguro?", "Confirmar",function(r){
                if(r){
                    switch (numero){
                        case 1:
                            //Llamar funcion para procesar datos en BD
                            xajax_procesar_formulario1(xajax.getFormValues('perfil1'));
                            var formulario = 1;
                        break;
                        case 2:
                            //Llamar funcion para procesar datos en BD
                            xajax_procesar_formulario2(xajax.getFormValues('perfil2'));
                            var formulario = 2;
                        break;
                        case 3:
                            //Llamar funcion para procesar datos en BD
                            xajax_procesar_formulario3(xajax.getFormValues('perfil3'));
                            var formulario = 3;
                        break;
                    }
                }
            });
En general: Tengo una pagina con tres formularios. Dependiendo de en que boton para editar se haya clickado se procesa un formulario u otro.

Pero la variable formulario no se como pasarla para que se procese.
Como se haria?
Gracias.
  #2 (permalink)  
Antiguo 20/01/2011, 13:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: recoger variable con xajax

te recuerdo que js se ejecuta en el cliente, y para que puedas llamar a determinada función de xajax, la misma debe de haberse registrado previamente en php, de lo contrario el core de xajax en js (cargado de los datos o lista de funciones registradas por el core xajax de php) no podrá hacer la petición de una función que no tiene en cuenta.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 21/01/2011, 00:21
Avatar de Mysticaliptica  
Fecha de Ingreso: abril-2007
Ubicación: Guipuzcoa
Mensajes: 35
Antigüedad: 17 años
Puntos: 0
Respuesta: recoger variable con xajax

Si, creo que entiendo lo que dices, mira te dejo el código de la parte php para q veas.
No puse todo el codigo, ahi va, esta es la parte php antes del head:

Código:
<?php
//incluimos html DOM parser
include("simplehtmldom/simple_html_dom.php");
//incluímos la clase ajax
require_once("/xajax/xajax_core/xajax.inc.php");

function procesar_formulario1($form_entrada)
{
    $objResponse=new xajaxResponse();
    $objResponse->assign("nom", "innerHTML",  print_r($form_entrada["nombre"], true )  );
    $objResponse->assign("app", "innerHTML",  print_r($form_entrada["apellidos"], true )  );
    $objResponse->assign("fch", "innerHTML",  print_r($form_entrada["nacimiento"], true )  );
    $objResponse->assign("dir", "innerHTML",  print_r($form_entrada["direccion"], true )  );
    $objResponse->assign("pais", "innerHTML",  print_r($form_entrada["pais"], true )  );
    $objResponse->assign("prov", "innerHTML",  print_r($form_entrada["provincia"], true )  );
    $objResponse->assign("ubi", "innerHTML",  print_r($form_entrada["ciudad"], true )  );
    $objResponse->assign("post", "innerHTML",  print_r($form_entrada["postal"], true )  );

    return $objResponse;
}
function procesar_formulario2($form_entrada)
{
    $objResponse=new xajaxResponse();
    $objResponse->assign("tlf", "innerHTML",  print_r($form_entrada["telefono"], true )  );
    $objResponse->assign("web", "innerHTML",  print_r($form_entrada["web"], true )  );

    return $objResponse;
}
function procesar_formulario3($form_entrada)
{
    $objResponse=new xajaxResponse();
    $objResponse->assign("prof", "innerHTML",  print_r($form_entrada["profesion"], true )  );
    $objResponse->assign("int", "innerHTML",  print_r($form_entrada["intereses"], true )  );

    return $objResponse;
}
    //instanciamos el objeto de la clase xajax
    $xajax=new xajax();
//Sacar ventana debug
//$xajax->configure("debug", true);
    //registramos la función creada anteriormente al objeto xajax
    switch($formulario){
        case 1:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario1");
        break;
        case 2:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario2");
        break;
        case 3:
            $xajax->register(XAJAX_FUNCTION, "procesar_formulario3");
        break;
    }
//            $xajax->register(XAJAX_FUNCTION, "procesar_formulario1");
//            $xajax->register(XAJAX_FUNCTION, "procesar_formulario2");
//            $xajax->register(XAJAX_FUNCTION, "procesar_formulario3");
//El objeto xajax tiene que procesar cualquier petición
    $xajax->processRequest();
    $xajax->configure('javascript URI','xajax/');
    
    //$xajax->setCharEncoding('ISO-8859-1');
    //$xajax->decodeUTF8InputOn(); 
De momento no tengo ninguna conexion a MySQL pero si consigo que esto funcione luego los metere.

Etiquetas: ajax, recoger, xajax, variables
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 14:57.