Il problema che sto per illustrare succede quando cerco di inviare il contenuto di un form ad altro form che a sua volta dovrebbe inoltrare il "post" ad una pagina di conferma. Sebbene io non conosca la causa del problema provo ad ipotizzare che sia dovuto ad un errato indirizzamento a livello DOM.
Il primo form si trova in una finestra "popup" (una sorta di precompilazione) ed il secondo form si trova dentro un iframe (mi serve) ed questo è lo script del primo:
E fin qui tutto bene. Riesco a bersagliare il form che si trova dentro all'iframe, cioè, Il post inviato arriva e il secondo form viene correttamente visualizzato.codice:$(document).ready(function() { $('#primo_form').submit(function(){ var querystring = $(this).serializeArray(); var extra = window.frames['mioframe'].document.getElementById('miodiv'); $.post('forms/red_form.php', querystring, function(data) { $(extra).html(data); }); return false; }); });
Il problema sorge quando una volta completata la compilazione, cerco d'inoltrare questo secondo form ad una pagina di conferma.
Se apro direttamente il secondo form senza la "precompilazione" del primo form (quello su popup) funziona e la pagina di conferma viene correttamente visualizzata.
A me sembra che una volta che il form di precompilazione viene inviato al secondo form esso venga caricato ad un "livello DOM" diverso[edit] >>("livello DOM" non so se si può dire cosi, sto imparando), succede che quando premo "invio" il form mi fa il refresh della pagina senza indirizzare il "post" alla pagina di conferma, un po come se mancasse il bersaglio.
Questo che segue e lo script del secondo forum che è simile al primo.
Se qualcuno gentilmente mi indicasse almeno la strada da percorrere sarei molto grato.codice:$(document).ready(function() { $('#secondo_form').submit(function(){ var querystring = $(this).serializeArray(); $.post('forms/process/conferma.php', querystring, function(data) { $('miodiv').html(data); //questo è il div che si trova dentro l'iframe }); return false; }); });

Rispondi quotando