Foros del Web » Programando para Internet » Jquery »

Problema al Enviar formulario con ajax para no recargar pagina?

Estas en el tema de Problema al Enviar formulario con ajax para no recargar pagina? en el foro de Jquery en Foros del Web. Hola foreros! tengo un sistema de puntuacion para los comentarios de mi web que actualmente funciona perfecto con php el problema esta en que al ...
  #1 (permalink)  
Antiguo 31/01/2016, 18:57
 
Fecha de Ingreso: diciembre-2015
Mensajes: 115
Antigüedad: 8 años, 4 meses
Puntos: 2
Sonrisa Problema al Enviar formulario con ajax para no recargar pagina?

Hola foreros! tengo un sistema de puntuacion para los comentarios de mi web que actualmente funciona perfecto con php el problema esta en que al puntuar al ser php puro se recarga la pagina y haya que bajar hasta el comentario puntuado para ver el resultado, cosa que es muy tediosa a mi parecer, tengo entendido que con ajax esto se puede solventar, he aplicado un codigo sencillo pero no se en que pueda estar fallando que aun se sigue recargando la pagina, y no me envia el formulario... espero me puedan ayudar, me tiene estancado

Script:
<script type="text/javascript">

$("#puntuar-positivo").click( function() { // Con esto establecemos la acción por defecto de nuestro botón de enviar.
$.post("soporte/valorar.php",$("#formulario-valoracion").serialize(),function(res){
$("#formulario").fadeOut("slow"); // Hacemos desaparecer el div "formulario" con un efecto fadeOut lento.
if(res == 1){
$("#exito").delay(500).fadeIn("slow"); // Si hemos tenido éxito, hacemos aparecer el div "exito" con un efecto fadeIn
} else {
$("#fracaso").delay(500).fadeIn("slow"); // Si no, lo mismo, pero haremos aparecer el div "fracaso"
}
});

});
});
</script>

formulario:

<div id="formulario">
<form id="formulario-valoracion" action="soporte/valorar.php" method="POST">
<label id="valorar"> Valorar </label>
<!-- datos del comentario a valorar-->
<input hidden="hidden" type="text" name="num-comentario" id="num-comentario" value="<?php echo $row['id']; ?>" >
<input hidden="hidden" type="text" name="punto" id="punto" value="<?php echo $row['positivo']; ?>" >
<!-- puntuar-->
<button name="puntuar-positivo" id="puntuar-positivo" class="icon-thumbs-up"></button>
</form>
<div>


valorar.php:

Código PHP:
<?php
include ("conexiondb.php");
include(
'config.php');

//establecemos la variable que contendra el id del comentario a puntuar
$idquitar($_POST['num-comentario']);
//consultamos la cantidad actual de puntos 
$consultar_positivomysql_query("SELECT positivo FROM comentarios WHERE id='$id' ");
//hacemos el arreglo con los resultados
$rowmysql_fetch_array($consultar_positivo);
//si el usuario presiona el boton para puntuar
if (isset($_POST['puntuar-positivo'])){
//declaramos variable que contenga el punto positivo a sumar para el comentario
$sumar_positivo quitar($_POST['punto']+1);
//establecemos una variable para los puntos positivos actuales
$cantidad_positivo=$row['positivo']; 
//vamos actualizando los puntos positivos conforme se use el boton de puntuar positivo
if ($cantidad_positivo>=0){
$puntuar_positivomysql_query("UPDATE `comentarios` SET `positivo` = '$sumar_positivo' WHERE `comentarios`.`id` = '$id' "); 
//si se actualizan los puntos positivos, se notifica
if ($puntuar_positivo) {

//esperar 2 segundos y refrescar la pagina
sleep(2);
 
header('Location:'getenv('HTTP_REFERER')); 
    echo 
"Gracias!";

//si no; se indica el error
}else{
    echo 
"Error, intente mas tarde";
}
}
}

?>

Última edición por kukiko11; 31/01/2016 a las 19:03
  #2 (permalink)  
Antiguo 01/02/2016, 11:59
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Problema al Enviar formulario con ajax para no recargar pagina?

Al momento de realizar el envío, se ejecuta el evento submit, mismo que debes cancelar utilizando el método .preventDefault().

Código Javascript:
Ver original
  1. $("#id del formulario").on("submit", function(event){
  2.     event.preventDefault();
  3.     //Tus instrucciones
  4. });

Un saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: ajax
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 00:28.