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:
Questo è il codice Javascript/JQuery: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>
Il codice PHP è qualcosa del tipo: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; }); });
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.Codice PHP:<?php print_r($_POST); ?>
Spero riusciate ad aiutarmi

Rispondi quotando