Newsgroup: it.comp.lang.javascript
Titolo: passaggio variabili a window

Ciao a tutti. Premetto che sono completamente ignorante in materia, ma
devo risolvere questa cosa: da una pagina HTML compilo dei dati
(inseriti in un form POST) e richiamo un programma tramite CGI su
AS400 (la chiamata viene effettuata in questo modo: action="/dir/
pgm.pgm") che apre una pagina successiva. I dati contenuti nel form
vengono passati al mio programma che poi li elabora.
Se faccio la stessa chiamata, utilizzando però un javascript per
aprire il programma successivo in una finestra, i dati non
passano...ho provato ad inserirli direttamente come parametri passati
sulla chiamata (action="javascript:openSrcWin('/dir/pgm.pgm?parm1=/
%PARM1%')") ma non cambia nulla, non viene passato niente...
avete qualche suggerimento da darmi???
grazie grazie grazie
Monia

 cambia nulla, non viene passato niente... 
a) cosa è openSrcWin? Non è un metodo "nativo", quindi sarà una funzione 
che hai da qualche parte (immagino esegua un window.open)
b) in questo modo stai passando i dati via GET e non via POST, sicura che 
il problema non sia quindi server-side (legge i dati via POST e non via 
GET)?
 
http://www.w3.org/TR/html401/interact/forms.html#submit-format
c) non ti basta (non conosco il DTD che usi) mettere un target="nuovaWin" 
nel tag form, così apri in una nuova popup e invii i dati via post?
 
http://www.w3.org/TR/html401/present/frames.html#adef-target


a) corretto: è una funzione che esegue un window.open
b) il server li può eleborare sia come POST che come GET (ho altre
chiamate sparse in giro che vengono effettuate così e funzionano)
c) sarebbe bellissimo e avevo già provato una soluzione simile. Il
problema è che la nuova finestra non deve avere la barra degli
indirizzi ne' i pulsanti, e quindi nella mia ignoranza l'unico modo
per farlo era creare una finestra ad hoc, senza queste cose. Ma se ci
sono altri modi.... :-)

 finestra ad hoc, senza queste cose. Ma se ci sono altri modi.... :-)
potresti provare a usare onsubmit nel tag form.
se hai target="myWin", onsubmit potresti mettere un qualcosa del tipo
 var w=window.open('','myWin','feature_richieste');return true
In questo modo, così a naso, poi la form dovrebbe aprirsi nella popup già 
aperta.


quanto ti devo? :-)
scherzi a parte, funziona!!!! grazie di nuovo
monia

 scherzi a parte, funziona!!!! grazie di nuovo monia
assegnando l'handler a una variabile, a logica, attenderà che la window 
sia aperta. Provala però online, mi raccomando, prima che l'invio della 
form avvenga prima del termine dell'apertura della window (offline è 
molto veloce, e quindi potrebbe non notarsi questo comportamento)


sì sì sì, già provato online... bello bello!!!
:-)

 :-)
Alla peggio, se vuoi che l'ordine degli eventi sia a prova di bomba,
puoi sempre aprire la finestra all'"onsubmit", prevenire l'azione di
default, e nella finestra appena aperta, fare il "submit" della form
dell'opener. Cos� il flusso degli eventi � assicurato.
Ovviamente necessiti una pagina HTML in pi�, e onestamente non credo
che sia necessario, visto che window.open() non ha latenza quando si
va a caricare un "about:blank", che si tratti di remoto o locale. Ma
era giusto per amor di completezza. :)
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 improbable, must be the truth."
come scritto all'inizio, la mia ignoranza in materia è tanta, quindi
di quel che hai scritto ho capito circa un 5%.
e visto che il metodo indicato prima funziona, rimango su quello :-)
però grazie lo stesso :-)