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

que estoy haciendo mal con este ajax y formulario?

Estas en el tema de que estoy haciendo mal con este ajax y formulario? en el foro de Frameworks JS en Foros del Web. Hola, estoy intentando devolver por ajax el resultado de los datos enviados desde un formulario, pero no logro hacerlo, el formulario es asi: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 02/11/2010, 16:19
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
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
  #2 (permalink)  
Antiguo 02/11/2010, 18:46
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 14 años, 10 meses
Puntos: 43
Respuesta: que estoy haciendo mal con este ajax y formulario?

si en el onsubmit del HTML

colocas esto:

submitAjax('suma','index.php?controlador=index&amp ;accion=tabla','tabla',1)

Aparentemente todo esta bién.
  #3 (permalink)  
Antiguo 03/11/2010, 08:39
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: que estoy haciendo mal con este ajax y formulario?

'index.php?controlador=index&amp;accion=tabla'

yo siempre uso el & para concatenar variables. creo que deberias revisar eso "&amp;"

'index.php?controlador=index&accion=tabla'

Etiquetas: ajax, mal, formulario
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 17:51.