Newsgroup: it.comp.lang.javascript
Titolo: Invio dati di un form a due file differenti

Vorrei inviare un form per la modifica dei dati di un utente a due file
differenti ed ho provato con lo script sottostante ma per motivi a me ignoti
i dati vengono processati solo dal secondo file, come se la prima action
venisse saltata. Come mai?
Ciao e grazie
<SCRIPT LANGUAGE=javascript>
<!-- //
var indirizzo=new Array('file_1.php?mode=changed','file_2.php?mode=do');
function doppioSub()
{
    for (i=0; i<2; i++)
        {
            document.formsave.action=indirizzo[i];
            document.formsave.submit();
        }
}
//-->
</SCRIPT>

 venisse saltata. Come mai?
Perche' sei in un ciclo. E quindi fino a che non termina il ciclo, il 
browser spesso e volentieri se ne sta fermo, in attesa.
Cmq e' l'approccio stesso che e' sbagliato. Non puoi fare una cosa del 
genere. Per submittare due volte la stessa form su due pagine diverse, 
l'unica e' farlo in due finestre distinte.. (o usare sui browser recenti 
l'XmlHttpRequest).. io ti consiglio di evitare questo genere di 
approccio, e lavorare server side.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

Grazie del consiglio, ho sempre fatto così ma ora mi trovo, momentaneamente,
a dover inviare questi benedetti dati in due posti diversi.
Spiego il problema, ho una pagina a cui si accede tramite immissione di
login e pasword in cui sono presenti diversi appilicativi. Ora, tutti tranne
uno si trovano sul server in cui risiede il sito in questione, mentre
quest'ultimo applicativo, che utilizziamo in maniera del tutto provvisoria
in attesa di implementarne uno noi stessi, si trova su un'altro server e lo
abbiamo solo in "affitto". Nella nostra Home page riservata c'è una funzione
denominata account manager attraverso la quale è possibile modificare la
password. Il problema è che oltre a modificarla sul nostro dbase MySQL deve
anche andare sull'altro server e cambiare la password anche lì. Per questo
volevo inviare i dati del form a due file differenti.
Se tutto ciò non fosse posibile allora fino a quando non avremo lil nostro
applicativo nasconderò la possibilità di modificare la pwd, o lo faremo solo
su richiesta dell'utente.
Ciao a tutti

 volevo inviare i dati del form a due file differenti.
E questo e' chiaro, ma rifletti su una cosa. Quando tu fai il POST di una form, 
in realta' tu stai chiamando una pagina che poi andra' visualizzata da qualche 
parte. Insomma, qualunque POST di un FORM ha un "ritorno" da parte del server.
Questo significa che puoi anche fare il POST lato client su due file 
differenti, ma devi indirizzarlo a due "finestre" differenti.. in quanto hai 
due "ritorni" differenti.
Inoltre, e' corretto sapere SE vi sono stati dei problemi con l'immissione dei 
dati su entrambi i database.
Un ipotesi, sarebbe quella di fare PRIMA il POST sulla pagina che modifica il 
DB dell'applicazione in affitto, su una finestra separata (se puoi operare su 
tale pagina, puoi far si' che il contenuto si adatti ad una finestra di popup, 
come se fosse un messaggio, che avverta l'utente della riuscita - o meno - 
dell'operazione), poi nella finestra corrente rifai il post su se' stessa, alla 
pagina del tuo DB.
Volendo, potresti anche usare un frame nascosto, se non ti piace l'idea della 
popup, ma e' giusto che l'utente abbia un "feedback" sull'avvenuta modifica di 
entrambi i DB.. ponendo caso che il secondo (quello non gestito direttamente da 
voi) e' giu' o irraggiungibile, verrebbe modificata una sola PW, l'utente non 
lo saprebbe mai e vi sarebbero discrepanze.
Ma ti ripeto che sarebbe preferibile farlo lato server.
Ovvero: una pagina PHP prende i dati dell'utente mandati in POST dalla form, 
salva i dati nel tuo DB locale, e poi "rigira" lato server l'header ricevuto 
all'altra pagina. In PHP si puo' fare. Quest'ultima si comportera' come se 
avesse ricevuto i dati direttamente dalla form stessa.
In questo modo hai un unica pagina lato client a cui fare il submit, e 
all'utente tutto sembra trasparente.
