Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2010, 16:19
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años
Puntos: 43
que estoy haciendo mal con este ajax y formulario?

Hola,
estoy intentando devolver por ajax el resultado de los datos enviados desde un formulario, pero no logro hacerlo,
el formulario es asi:
Código HTML:
Ver original
  1. <form action="#" method="post" id="suma" onsubmit="submitAjax('suma','index.php?controlador=index&amp;accion=tabla','tabla',0);" class="form label-inline" enctype="multipart/form-data">
  2.         <div class="portlet portlet-closable">
  3.  
  4.         <div class="portlet-header">
  5.             <h4>Venta Actual</h4>
  6.  
  7.         </div> <!-- .portlet-header -->
  8.  
  9.         <div class="portlet-content">
  10.  
  11.             <div id="inline-form">
  12.  
  13.             <div class="field">
  14.                 <div class="ui-widget">
  15.                 <label for="producto">Nombre Producto: </label>
  16.                 <input id="producto" name="producto" class="medium"/>
  17.                 <span><strong>Cantidad: </strong></span>
  18.                 <input id="cantidad" name="cantidad" size="4" type="text" class="xsmall" />
  19.                 <button type="submit"><span>Sumar</span></button>
  20.                 </div>
  21.                
  22.             </div>
  23.            
  24.             <div class="buttonrow">
  25.                 <input type="hidden" name="id_user" value="<?php echo $datos->id_user;?>"/>
  26.                 <button type="submit"><span>Cerrar Venta</span></button>
  27.             </div>
  28.  
  29.             </div> <!-- #horizontal-form -->
  30.             <div id="tabla">
  31.            
  32.             </div>
  33.  
  34.  
  35.         </div> <!-- .portlet-content -->
  36.  
  37.         </div> <!-- .portlet -->
  38.  
  39.     </form>

el js es asi:
Código Javascript:
Ver original
  1. // funcion ajax para cargar contenido en un contenido especifico por GET
  2. function requestAjax(link,param,valor,contenedor,visible){
  3.     var url ;
  4.     url = link;
  5.     if(param!=''){
  6.     url = url+"&"+param;
  7.     }
  8.     if(valor!=''){
  9.     url = url+'='+valor;
  10.     }
  11.     $.ajax({
  12.     url: url,
  13.     cache: false,
  14.     success: function(html){
  15.         //alert(url);
  16.         $("#"+contenedor).empty();
  17.         $("#"+contenedor).append(html);
  18.         if(visible==1){
  19.         $("#"+contenedor).css('display','block');
  20.         }
  21.     }
  22.     });
  23.  
  24. }
  25.  
  26. //funcion ajax para cargar contenido enviado por un formulario.
  27. function submitAjax(idForm,link,contenedor,visible){
  28.    var url;
  29.     url = link + '&'+ $("#"+idForm).serialize();
  30.     $.ajax({
  31.     url: url,
  32.     cache: false,
  33.     success: function(html){
  34.         $("#"+contenedor).empty();
  35.         $("#"+contenedor).append(html);
  36.         if(visible==1){
  37.         $("#"+contenedor).css('display','block');
  38.         }
  39.     }
  40.     });        
  41. }

y la funcion php que es enviada a la url por ejemplo sitio.com/index.php?controlador=index&accion=tabla&producto= algo&cantidad=12&id_user=1
es la siguiente:
Código PHP:
Ver original
  1. public function tabla(){
  2.         $prod = $this->Productos->listadoProductos();
  3.         $tabla .= "<p> los datos enviados son:<br/>".$_REQUEST['producto']."-".$_REQUEST['cantidad']."-".$_REQUEST['id_user']."</p>";
  4.         $tabla .= "<table>
  5.             <tr>
  6.             <td>Nombre</td>
  7.             <td>Precio Lista</td>
  8.             <td>Precio</td>
  9.             </tr>
  10.         ";
  11.         for($i=0;$i<count($prod);$i++){
  12.         $tabla .= "
  13.             <tr>
  14.                 <td>{$prod[$i]['nombre']}</td>
  15.                 <td>{$prod[$i]['precio_lista']}</td>
  16.                 <td>{$prod[$i]['precio']}</td>
  17.             </tr>";
  18.         }
  19.         $tabla .= "</table>";
  20.  
  21.         echo $tabla;
  22.     }

el tema es que me pasa bien la url, pero no me imprime la tabla, como que no entrara al ajax, como puedo solucionarlo?

desde ya muchas gracias