Estoy tratando de enviar un formulario php sin que se recargue la página en la que me encuentro, para luego insertar los datos en la base de datos y mostrar el nuevo registro.
Me explico, es un módulo de comentar noticias y lo que quiero conseguir es que cada vez que un usuario quiera hacer un comentario, éste sea registrado e inmediatamente se muestre donde los demás.
Para ello, en la página incial muestro mi formulario de la siguiente manera:
Código:
  
Luego, según he leído por la red, con la librería jquery se haría de la siguiente manera:<form name='fcomenta' id='fcomenta' action='' method='post'> <p>Su nombre:</p> <p><input name='nombre' type='text' id='autor' value='Anónimo' maxlength='20' onfocus='javascript:nombre(this.value);' onblur='javascript:nombre(this.value);'/></p> <p>Su email:</p> <p><input name='email' type='text' id='autor' value='' maxlength='50'/></p> <p>Texto de su comentario:</p> <p><textarea name='comentario' cols='40' rows='5'></textarea></p> <input name='idnoticia' type='hidden' value=".$row_noticia['ID']." /> <input name='ipusuario' type='hidden' value=".$ip." /> <p><input name='env_com' type='submit' value='Enviar' id='env_com'/></p> </form>
Código:
  
Bueno, la verdad es que la función que encontré la he adaptado a mis necesidades. Pero de todas formas no me intercepta el submit y la página se recarga igualmente no haciendo absolutamente nada.
   // Interceptamos el evento submit
    $('#form, #fat, #fcomenta').submit(function() 
	{
	   alert('intercerpto el submit');
	  // Enviamos el formulario usando AJAX
	  	var noticia = document.fcomenta.idnoticia.value;
		var usuario = document.fcomenta.idusuario.value;
		var nombre = document.fcomenta.nombre.value;
		var email = document.fcomenta.email.value;
		var comentario = document.fcomenta.comentario.value;
	
		$.ajax({
		type: "GET",
			url: "funciones.php",
			data: "action=comentar&cod_usuario="+cod_usuario+"&cod_noticia="+cod_noticia+"&nombre="+nombre+"&email="+email+"&comentario="+comentario,
			success: function(msg){
				document.getElementById("txtprueba").style.visibility = 'visible';
				document.getElementById("txtprueba").innerHTML = msg;
			}, 
			error: function(xho){
				document.getElementById("txtprueba").style.visibility = 'visible';
				document.getElementById("txtprueba").innerHTML = "Error:"+xho.responseText;
			}
		});
	})
Alguien puede guiarme sobre cómo podría solucionar esto?? Qué librería se adptaría más a lo que io quiero hacer y cómo debería utilizarla para conseguirlo??
Muchas gracias!!
 
 
 
 

