Salve a tutti, ringrazio in anticipo a chiunque mi aiuti.
In passato mi è capitato di dover inviare dei form via Ajax con JQuery e non ho mai avuto problemi, in questi 2 giorni sto impazzendo perché questo form non ne vuol sapere di essere inviato via Ajax e mi ritrovo il browser che punta alla pagina di action del form, mentre io non voglio che faccia un refresh a meno che l'utente non abbia disabilitato javascript nel browser.
Questo è il form html:
codice:
<form action="php/insert-new.php" id="send-single-mail" method="POST">
    Destinatario:
    AMMINISTRATORI
    <input type="hidden" name="dest" id="dest" value="amministratore" />  
    Oggetto:
    <input id="ogg" type="text" name="ogg" />
    Messaggio:
    <textarea name="content" id="mex"></textarea>
    <input id="submit-single" type="submit" value="Invia" />
</form>
Questo è il codice Javascript/JQuery:
codice:
$(document).ready(function(){
	$("form#send-single-mail").submit(function(){
		$("div.loading").fadeIn("fast");
		var dest=$("#dest");
		var ogg=$("#ogg");
		var cont=$("#mex");
		if(ogg.value()==''){
			ogg.addClass("highlight");
			return false;
		}else{ ogg.removeClass("highlight"); }
		if(cont.value()==''){
			cont.addClass("highlight");
			return false;
		}else{ cont.removeClass("highlight"); }
		$.post(
			"php/insert-new.php",
			$("form#send-single-mail").serialize(),
			function(outcome){
				if(outcome==1){
					$("div.loading").fadeOut("fast");
					dest.val("");
					ogg.val("");
					mex.val("");
					$("div.success").fadeIn("fast");
				}else if(outcome==0){
					$("div.loading").fadeOut("fast");
					alert("Errore! Riprovare a inviare tra un po'");
				}else{
					alert(outcome);
				}
			}
		);
		return false;
	});
});
Il codice PHP è qualcosa del tipo:
Codice PHP:
<?php print_r($_POST); ?>
e quindi mi aspetterei che mi salti fuori un alert con la stampa dell'array, invece mi rimanda alla pagina insert-new.php e il javascript sembra che non venga eseguito.
Spero riusciate ad aiutarmi