Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2011, 04:00
Avatar de fbedia88
fbedia88
 
Fecha de Ingreso: enero-2011
Ubicación: Santander
Mensajes: 83
Antigüedad: 13 años, 3 meses
Puntos: 20
procesar formulario

Hola a todos, haber si me pueden echar un cable con un formulario en ajax y php.
Lo que quiero es recibir los datos de un formulario y procesarlos... el problema es que cuando ago click en "enviar" no hace nada.... no llama a la funcion....

Les comento;

por un lado tengo un fichero menu.php (les resumo el codigo):

Código PHP:
<?php
include("../includes/control_sesiones.php");
include(
"../includes/variables.php");
include(
"../includes/config.php");
include(
"../includes/conexion.php");
include(
"funciones_ajax.php");

require(
"../xajax/xajax_core/xajax.inc.php");
    
$xajax = new xajax();

$xajax->register(XAJAX_FUNCTION'menu_jugadores');
$xajax->register(XAJAX_FUNCTION'agrega_evento');
$xajax->register(XAJAX_FUNCTION'jugadores_nuevo');
$xajax->register(XAJAX_FUNCTION'procesar_formulario_jugadores_nuevo');

//procesar peticiones
$xajax->processRequest();

$xajax->printJavascript("../xajax/");


.........
................. 
body.....
.......
<
div class="title">
                                                    <
h3>Administracion</h3>
                                                </
div>
                                                <
div class="content">
                                                    <
ul class="menu"><li class="leaf first"><?php echo "<a href='javascript:void(xajax_menu_jugadores($id_usuario))' title='' class='active'>Jugadores</a>"?></li>
                                                    <li class="leaf"><a href="javascript:void(xajax_agrega_evento(2))" title="">Equipos</a></li>
.......
..................
....................
Esta es la cabecera de menu.php

Cuando haces click en JUGADORES llama a la funcion menu_jugadores (funciona)

Código PHP:
function menu_jugadores($id){

   
$respuesta = new xajaxResponse();
   
   
$titulo "<h3>Jugadores</h3>";
   
$dinamico "- <a href='javascript:void(xajax_jugadores_nuevo($id))' title='' class='active'>Agregar un jugador</a>";
   
   
$respuesta->assign('titulo_menu''innerHTML'$titulo);
   
$respuesta->assign('dinamico''innerHTML'$dinamico);
   
   return 
$respuesta;


Me carga y despues ago click en el link "Agregar un jugador" y me llama bien a la funcion, con lo que me carga el siguiente form:

Código PHP:
function jugadores_nuevo() {
   
$respuesta = new xajaxResponse();
   
   
$titulo "<h3>Agregar jugador</h3>";
   
$dinamico "
    <form id='formulario'>
    Nombre: <input type='text' name='nombre'>
    <br>
    Apellidos: <input type='text' name='apellidos'>
    <br>
    <input type='button' value='Enviar' onClick='xajax_procesar_formulario_jugadores_nuevo(xajax.getFormValues('formulario'))'>
    </form>
   "
;
   
   
$respuesta->assign('titulo_menu''innerHTML'$titulo);
   
$respuesta->assign('dinamico''innerHTML'$dinamico);
   
   return 
$respuesta;

aqui es donde esta el problema.... cuando pulso en el boton "Enviar" no me llama a la funcion xajax_procesar_formulario_jugadores_nuevo

no se que puede estar pasando... ¿se me olvida algo? he probado con onClick, onSubmit.... y ejemplos que he encontrado pero no me funciona... :(

La funcion de procesar el form es esta
Código PHP:
function procesar_formulario_jugadores_nuevo($form_entrada) {
    
$salida "Gracias por enviarnos tus datos. Hemos procesado esto:<p>";
    
$salida .= "Nombre: " $form_entrada["nombre"];
    
$salida .= "<br>Apellidos: " $form_entrada["apellidos"];
   
   
//instanciamos el objeto para generar la respuesta con ajax
   
$respuesta = new xajaxResponse();
   
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
   
$respuesta->assign("dinamico","innerHTML",$salida);
   
   
//tenemos que devolver la instanciación del objeto xajaxResponse
   
return $respuesta;

Muchas gracias a todos!
__________________
URGENTE! Alguien me puede ayudar con este tema??
http://www.forosdelweb.com/f57/tarea...rontab-924947/

Última edición por fbedia88; 12/08/2011 a las 04:08