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

enviar formulario por xajax, creado con xajax

Estas en el tema de enviar formulario por xajax, creado con xajax en el foro de Frameworks JS en Foros del Web. explico..... tengo un a funcion (php) que crea un formulario (xajax), en este formulario tengo varios input que necesito sean reenviados a php para ser ...
  #1 (permalink)  
Antiguo 07/05/2009, 13:00
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
enviar formulario por xajax, creado con xajax

explico..... tengo un a funcion (php) que crea un formulario (xajax), en este formulario tengo varios input que necesito sean reenviados a php para ser evaluados y procesados para ello al final del formulario (creado con xajax), tengo un boton que en el evento onclick hace xajax_processFormData(xajax.getFormValues('idform' )).

el problema es que la funcion (php) processFormData no recibe el formulario, es decir no recibe nada....

hice unas proebas y si el formuario lo creo directamente en html la funcion recibe perfectamente el formulario, pero eso significa perder el dinamismo del sitio.

la pregunta es, como puedo recuperar con xajax, los datos de un formulario creado con xajax???

espero puedan ayudarme con este cuento.... gracias.

PD: todas las funciones estan en el mismo documento. si necesitan codigo para entender mejor solo pidanlo.
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #2 (permalink)  
Antiguo 07/05/2009, 17:16
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: enviar formulario por xajax, creado con xajax

el codigo nunca está demás...

puedes comprobar que entra a la funcion "processFormData"?
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
  #3 (permalink)  
Antiguo 08/05/2009, 08:42
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Busqueda Respuesta: enviar formulario por xajax, creado con xajax

si, si la funcion estra Ok, voy a pegar un poco de codigo para ver
esta es la parte html donde defino los contenedores, fijate en el contenedor edit
Código HTML:
<div id="detalles" style="width:40%; float:right;">
    <div id="tabs">
	<ul>
	    <li><a href="#resumen"><u>R</u>esumen</a></li>
	    <li><a href="#edit"><u>E</u>dicion</a></li>
	    <li><a href="#history"><u>H</u>istorial Cambios</a></li>
	</ul>
        <div id="resumen" style="height:430px; overflow:auto">
        </div>
        <div id="edit" style="height:430px; overflow:auto">
        </div>
        <div id="history" style="height:430px; overflow:auto">
        </div>
    </div>
</div> 
ahora la funcion php que escribe el formulario en el contenedor "edit"
Código PHP:
function Edit($id){
    global 
$Mysql;
    global 
$firstView;
    
$rpt = new xajaxResponse();
    
$Frigo = new Frigorifico($id,$Mysql);
    
$rpt->assign("edit","innerHTML",$Frigo->GetHTMLEditTable());
    
$rpt->script("$('#tabs').tabs('option', 'selected', $firstView);");
    
$rpt->script("$('#contenido span').removeClass('ui-icon');");
    
$rpt->script("$('#sp_$id').addClass('ui-icon');");
    
$rpt->script("$('#rut').mask('99.999.999-*');");
    return 
$rpt;

ahora el metodo GetHTMLEditTable
Código PHP:
    function GetHTMLEditTable(){
        
$tabla "<form name=\"Fdata\" id=\"Fdata\"  method=\"POST\"><table class=\"adminlist\">
                    <tr><td width=\"40%\">Descripcion</td><td>{$this->html->Text("id=\"descripcion\" size=\"40\"",$this->desc)}</td></tr>
                    <tr><td>R. Social</td><td>{$this->html->Text("id=\"rsocial\" size=\"40\"",$this->data['rsocial'])}</td></tr>
                    <tr><td>RUT</td><td>{$this->html->Text("id=\"rut\" size=\"20\"",$this->data['rut'])}</td></tr>
                    <tr><td>Direccion</td><td>{$this->html->Text("id=\"direccion\" size=\"40\"",$this->data['direccion'])}</td></tr>
                    <tr><td>Telefono1</td><td>{$this->html->Text("id=\"telefono1\" size=\"20\"",$this->data['telefono1'])}</td></tr>
                    <tr><td>F. Creacion</td><td>"
.MySql_To_Date($this->data['create'])."</td></tr>
                    <tr><td>Ult. Actualizacion</td><td>"
.MySql_To_Date($this->data['update'])."</td></tr>
                    <tr><td>Usuario</td><td>{$this->data['user']}</td></tr>
                    <tr><td>Observaciones</td>
                    <td align=\"right\">{$this->html->SubmitBtn("xajax_processFormData(xajax.getFormValues('Fdata'));")}|{$this->html->CancelBtn("
xajax_Edit($this->id)")}</td></tr>
                    <tr><td colspan=\"2\"><textarea rows=\"3\" cols=\"55\" id=\"observaciones\">{$this->obs}</textarea></td></tr>
                  </table></form>"
;
        return 
$tabla;
    } 
ahora el problema es esta instruccion
xajax_processFormData(xajax.getFormValues('Fdata') )
si yo coloco por ejemplo document.Fdata.descripcion.value la funcion processFormData recibe el dato perfectamente....
no entiendo por que no recibe el formulario pero si un dato....
ayudaaaa
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #4 (permalink)  
Antiguo 08/05/2009, 13:55
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: enviar formulario por xajax, creado con xajax

La verdad amigo, no se porque no te funciona.

Quizá te podría sugerir algunas cosas para tantear si es que funciona. Muchas veces dando palos de ciegos se llega a la solución.

- Intenta añadir el formulario mediante create()
- escribe el formulario directamente en tu html y agrega su contenido mediante xajax.

cuentame como te fue.

Sorry por la poca ayuda.
__________________
tutoriales xajax, jQuery, PHP y otros en mi blog
  #5 (permalink)  
Antiguo 08/05/2009, 14:56
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Respuesta: enviar formulario por xajax, creado con xajax

no se preocupe amigo, ya por ahi nos ayudaremos

gracias
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #6 (permalink)  
Antiguo 08/05/2009, 14:57
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Respuesta: enviar formulario por xajax, creado con xajax

si lo soluciono lo comentare en este mismo post
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #7 (permalink)  
Antiguo 11/05/2009, 09:46
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Respuesta: enviar formulario por xajax, creado con xajax

encontre el error que tenia....
el drama es que con tanto ver codigo uno ya no ve lo evidente, antes entregue una funcion que escribe el GetHTMLEditTable, en esta funcion uso un metodo de la case HTML, $this->html->Text(), el problema era que este metodo estaba mal diseñado, no escribia por ninguna parte el nombre del campo, por eso no se enviaba la informacion del formulario....

espero no queden dudas al respecto, todo estaba bien salvo por ese PEQUEÑO DETALLE, para que los campos sean reconocidos por la instruccion xajax.getFormValues('id_formulario'), deben tener los atributos "id" y "nombre"...

gracias a todos por la ayuda....
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
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 15:13.