Pregunta:
Fecha: 19-02-2018 18:18:31
(En Español)
Estoy haciendo un carrito online y funciona bien, solo quiero corregir una cosa y esque cuando le doy agregar me devuelve a la parte superior de la pagina y deseo que no se cargue sino que se quede en el mismo lugar al darle agregar. algo escuche de ajax para eso pero no se como hacerlo.
gracias Votos: 1 - Respuestas: 5 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
cargar pagina[No resuelta]
Buenas noches:Estoy haciendo un carrito online y funciona bien, solo quiero corregir una cosa y esque cuando le doy agregar me devuelve a la parte superior de la pagina y deseo que no se cargue sino que se quede en el mismo lugar al darle agregar. algo escuche de ajax para eso pero no se como hacerlo.
gracias Votos: 1 - Respuestas: 5 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 20-02-2018 02:08:23 Ajax va al servidor y vuelve en el momento. Se utiliza para webs dinámicas, como un carrito en este caso.
Deberías aclarar bien qué queres hacer o compartir parte de tu código para poder ayudarte mejor. Votos: 1 - Link respuesta -
Fecha: 20-02-2018 02:31:45 Por lo que comentas, debes tener los enlaces de agregar de esta manera:
<a href="#" id="loquesea" class="miboton">Agregar</a>
en caso de que si, deberías de utilizar en tu codigo jquery el preventDefault() para así evitar que se ejecute la acción por defecto de este, algo así:
$(".miboton").click(function(e){ e.preventDefault();//Aqui evitamos que se ejecute la acción por defecto de boton que es dirigirse al inicio al tener un numeral como enlace. })
claro mi respuesta puede considerarse vacía y un poco generalizada ya que no agregaste el código que usas para agregar elementos a tu cesta. Agrega dicho código y vemos si mi respuesta aplica o te ayudamos un poco más.
Saludos Votos: 1 - Link respuesta -
Fecha: 20-02-2018 04:19:43 este es el codigo y en el button, al darle agregar, vuelve a cargar la pagina. Queda agregado el producto pero vuelve a cargar la pagina
<?php $products = $con->query("select * from product"); ?> <table class="table table-bordered"> <thead> <th style="text-align: center;">Producto</th> <th style="text-align: center;">Precio</th> <th></th> </thead> <?php /* * Apartir de aqui hacemos el recorrido de los productos obtenidos y los reflejamos en una tabla. */ while($r=$products->fetch_object()):?> <tr> <td><strong><?php echo $r->name;?></strong></td> <td><strong>$ <?php echo number_format($r->price); ?></strong> <td style="width:260px;"> <?php $found = false; if(isset($_SESSION["cart"])){ foreach ($_SESSION["cart"] as $c) { if($c["product_id"]==$r->id){ $found=true; break; }}} ?> <?php if($found):?> <a href="cart.php" class="btn btn-info">Agregado</a> <?php else:?> <form class="form-inline" method="post" action="php/addtocart.php"> <input type="hidden" name="product_id" value="<?php echo $r->id; ?>"> <div class="form-group"> <input type="number" name="q" value="1" style="width:100px;" min="1" class="form-control" placeholder="Cantidad"> </div> <button type="submit" class="btn btn-primary">Agregar</button> </form> <?php endif; ?> </td> </tr> <?php endwhile; ?> </table>Votos: 1 - Link respuesta -
Fecha: 20-02-2018 05:47:56 bueno si ves esta claro que te va a recargar la pagina, ya que es un formulario lo que envía, para no recargar la pagina deberías de utilizar ajax Votos: 0 - Link respuesta
-
Fecha: 20-02-2018 05:59:28 Prueba de esta manera:
<form class="form-inline" id="formulario" method="post" action="php/addtocart.php"> <input type="hidden" name="product_id" value="5"> <div class="form-group"> <input type="number" name="q" value="1" style="width:100px;" min="1" class="form-control" placeholder="Cantidad"> </div> <button type="submit" class="btn btn-primary">Agregar</button> </form>
$(function(){ $("#formulario").submit(function(e){ e.preventDefault();//Evitamos que se enví9e el formulario var producto = $("input[name=product_id]").val();//id del producto var cantidad = $("input[name=q]").val();//Cantidad //Validamos que se haya escrito una cantidad if(cantidad=="" || cantidad == 0){ alert("Debe agregar la cantidad a comprar"); return false; } //Enviamos por ajax los valores mediante post $.post('php/addtocart.php',{ product_id:producto, q:cantidad }) .done(function(resp){ //Recibes la respuesta de tu archivo php y ejecutas las acciones correspondientes }) .fail(function(err){ //Si hay error al intentar enviar la peticion ajax }) }) })Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
