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

Problema, no se actualiza mi iframe al usar ajax

Estas en el tema de Problema, no se actualiza mi iframe al usar ajax en el foro de Frameworks JS en Foros del Web. hola a todos. Ya casi no tengo tiempo para pedir ayuda, aun asi me quedan unas horas para ver si arreglo este problema (tengo mas, ...
  #1 (permalink)  
Antiguo 19/07/2011, 01:42
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Problema, no se actualiza mi iframe al usar ajax

hola a todos.

Ya casi no tengo tiempo para pedir ayuda, aun asi me quedan unas horas para ver si arreglo este problema (tengo mas, pero este no se como solucionarlo).

Sigo con el problema con ajax, jquery y php, disque realoiza la consulta de base de datos que corresponde pero no hace nada, o si hace, despues no veo los cambios en una capa con un iframe (que simula los plugins de ese tipo pero hecho por mi) en el que muestro el carrito de compras y donde deberia de ver el articulo recien agregado.

aqui les dejo el codigo jquery y php
Código Javascript:
Ver original
  1. function Comprar(i)
  2. {
  3.     var cantidad=$("#cantidad"+i).val()
  4.     var ar_id=$("#ar_id"+i).val()
  5.    
  6.     var dataString = 'ar_id='+ $("#cantidad"+i).val() + '&cantidad=' + $("#cantidad"+i).val() ;
  7.         //alert (dataString);return false;
  8.        
  9.         $.ajax({
  10.       type: "POST",
  11.       url: "agregaracarrito.php",
  12.       data: dataString,
  13.       success: function(data) {
  14.         //$('#contact_form').html("<div id='message'></div>");
  15.         //$('#message').html("<h2>Contact Form Submitted!</h2>")
  16.         $('.midiv').html('<div style="float:right;"><input class="botonclass" id="iframecerrar" name="iframecerrar" onclick="ocultar()" type="button" value="Cerrar"/></div>'+data)
  17.         .append('<div style="clear:both;"><input class="botonclass" id="iframecerrar1" name="iframecerrar1" onclick="ocultar()" type="button" value="Continuar"/></div>')
  18.         .hide()
  19.         .fadeIn(1500, function() {
  20.          
  21.         });                    
  22.       }
  23.      });
  24.     $('.midiv').fadeOut(100);
  25.     //mostrar();
  26. }
  27. });

Esta es una parte de la funcion que genera la lista de articulos, donde cada articulo tiene su campo cantidad y boton comprar (boton que llama a la funcion de arriba para realizar mediante ajax, el registro del articulo ya sea en variable de sesion o en la tabla carrito (asociada al id del cliente).

Código PHP:
Ver original
  1. $html.='<tr>
  2.                     <td bgcolor="#d91603"><input class="botondown2" type="button" name="btnquitar" onclick="QuitarCant('.$i.')" id="btnquitar" /><!--<a class="button" id="btnagregar" href="#"><span>Quitar</span></a>--></td>
  3.                     <td bgcolor="#d91603"><input class="botonup2" type="button" name="btnagregar" onclick="AgregarCant('.$i.')" id="btnagregar" /><!--<a class="button" id="btnquitar" href="#"><span>Agregar</span></a>--></td>
  4.                     </tr>
  5.                     <tr>
  6.                     <form name="listaarticulos" id="listaarticulos" action="agregaracarrito.php" method="post">
  7.                     <td bgcolor="#d91603"><input class="botonshoping2" type="button" value="" onclick="Comprar('.$i.')" /></td>            
  8.                     <td bgcolor="#d91603"><label for="cantidad"></label><input style="width:30px;" id="cantidad'.$i.'"  name="cantidad" type="text" value="1" maxlength="3" onkeypress="return solonumeros(event)" onblur="ValidaCant('.$i.')"/><input type="hidden" name="ar_id" id="ar_id" value="'.$row["ar_id"].'"/></td>
  9.                     </tr></form>
  10.                     ';

Este es el codigo del archivo agregaracarrito.php

Código PHP:
Ver original
  1. $cantidad=isset($_POST["cantidad"])?$_POST["cantidad"]:0;
  2. $ar_id=isset($_POST["ar_id"])?$_POST["ar_id"]:0;
  3. $logeado=isset($_SESSION["Nombre"])?$_SESSION["Nombre"]:"";
  4. echo $ar_id;
  5. $_oArticulo = new Articulos();
  6.  
  7. $Q=$_oArticulo->MostrarArticulos(8,0,'',$ar_id);
  8. if(mysql_num_rows($Q)>0)
  9. {
  10.    
  11.         //EL CODIGO COMENTADO SIRVE PARA LA PARTE DONDE SE MUESTRA EL CONTENIDO DEL CARRITO, LA OPCION 9 DEVUELVE EL PRECIO DEL ARTICULO CORRESPONDIENTE A LA CANTIDAD ESPECIFICADA    
  12.  
  13.         if($logeado=="")
  14.         {      
  15.             //unset($_SESSION['carrito']);         
  16.          $row=mysql_fetch_array($Q);   
  17.          $cantpag=$row['ar_cantpag']/100*$row['ar_cantreal'];
  18.             echo "Agregar a sesion carrito";
  19.             if(isset($_SESSION['carrito']))                                
  20.                 if(!isset($_SESSION['carrito'][$ar_id]))
  21.                 {
  22.                     if($cantpag>=$cantidad)
  23.                         $_SESSION['carrito'][$ar_id]= array('cantidad' => $cantidad,'ar_id' => $ar_id);
  24.                     else
  25.                         echo "<p>La cantidad a comprar es mayor que la cantidad en stock</p>";
  26.                 }
  27.                 else
  28.                 {
  29.                     //$row=mysql_fetch_array($Q);
  30.                     $cant=$_SESSION['carrito'][$ar_id]['cantidad']+$cantidad;  
  31.                                    
  32.                     if($cantpag>=$cant)
  33.                     {
  34.                         $_SESSION['carrito'][$ar_id]['cantidad']+=$cantidad;
  35.                     }
  36.                     else
  37.                         echo "<p>La cantidad a comprar es mayor que la cantidad en stock</p>";
  38.                    
  39.                 }
  40.             else
  41.             {
  42.                        
  43.                
  44.                 echo "cantpag=> ".$cantpag;
  45.                 if($cantpag>=$cantidad)
  46.                 {
  47.                     $_SESSION['carrito'][$ar_id]= array('cantidad' => $cantidad,'ar_id' => $ar_id);
  48.                 }
  49.                 else
  50.                     echo "<p>La cantidad a comprar es mayor que la cantidad en stock</p>";
  51.                
  52.             }
  53.             if(isset($_SESSION['carrito']))
  54.                 foreach ($_SESSION['carrito'] as $carrito)
  55.                 {
  56.                     echo "cantidad => ". $carrito['cantidad'] . " id => ".$carrito['ar_id']."<br/>";
  57.                 }
  58.         }
  59.         else
  60.         {
  61.            
  62.             $_oCarrito=new Carrito();
  63.            
  64.             If(isset($_SESSION['carrito']))
  65.             {                  
  66.                 echo "Agregar a tabla carrito los artículos de sesión carrito + artículo recién comprado";
  67.                 foreach ($_SESSION['carrito'] as $carrito)
  68.                 {
  69.                     //$Q=$_oCarrito->DevuelveIdArticulo($_COOKIE['Carrito'],$carrito['ar_id'])                 
  70.                         $_oCarrito->Agregar($_SESSION["CR_id"],$carrito['ar_id'],$carrito['cantidad']);
  71.                    
  72.                        
  73.                     //$_OCarrito->Agregar($cr_id
  74.                     //echo $carrito['cantidad'] . $carrito['ar_id']."<br/>";
  75.                 }
  76.                 unset($_SESSION['carrito']);
  77.                 $_oCarrito->Agregar($_SESSION["CR_id"],$ar_id,$cantidad);
  78.                
  79.             }
  80.             else
  81.             {                              
  82.                 $row=mysql_fetch_array($Q);
  83.                 $cantpag=$row['ar_cantpag']/100*$row['ar_cantreal'];
  84.                 $Q1=$_oCarrito->DevuelveCantidadArticulo($_SESSION["CR_id"],$ar_id);
  85.                 $row1=mysql_fetch_array($Q1);
  86.                 $cant=$row1["dc_cant"]+$cantidad;
  87.                 if($cantpag>=$cant)
  88.                 {
  89.                     echo "CR_ID=> ".$_SESSION["CR_id"];
  90.                     $_oCarrito->Agregar($_SESSION["CR_id"],$ar_id,$cantidad);
  91.                 echo "Agregar artículo recién comprado a tabla carrito";
  92.                 }
  93.                 else
  94.                     echo "<p>La cantidad a comprar es mayor que la cantidad en stock</p>";
  95.             }
  96.         }  
  97. }
  98. else
  99.     echo "<p>El artículo no existe</p>";

Gracias a todos y por favor, si no piensan ayudarme, con todo respeto pero, mejor no comenten, y de una vez les digo que intente poner poco codigo aunque el de agregarcarrito.php si quice ponerlo todo pues es el que realiza el insert del articulo o agrega a la variable de sesion a partir de la llamada desde ajax.

Espero le entiendan a mi codigo y, en caso de que puedan ayudarme, no tenga que hacer cambios grandes al codigo pues como dije, me queda muy poco tiempo para entregar la pagina y aun tiene varios detalles.
  #2 (permalink)  
Antiguo 25/07/2011, 09:51
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Problema, no se actualiza mi iframe al usar ajax

Ya arregle este problema, pueden cerrar el tema.

Etiquetas: ajax, contenido, iframe, jquery, php, post, tabla
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 20:46.