Newsgroup: it.comp.lang.javascript
Titolo: problema con window.open e form.

Ciao a tutti,
ho un form cosi definito:
                      <form id="form1" method="post" action="miapagina" 
target="miotarget" onsubmit="return false;">
                            <select id="mionome" name="mionome">
                              <option value="miovalore" 
selected="selected">miovalore</option>
                            </select>
                          <input type="submit" name="join" value="Accedi!" 
onclick="window.open('about:blank', this.form.target, 
'width=320,height=240,resizable=no, 
toolbar=no,location=no,directories=no,menubar=no'); this.form.submit();" />
                      </form>
Al click sul button "accedi" si apre una finestrella di 320x240px.
Ora avviene che, se il tempo č "normale" il contenuto di "miapagina" viene 
caricato sulla finestrella se invece il tempo risulta essere "piů lungo", la 
finestrella si apre sempre e comunque, ma il contenuto di "miapagina" viene 
caricato sulla finestra del browser e non sulla finestrella aperta prima.
Ora come posso ovviare a questo bug, affinchč indipentemente dal tempo 
impiegato la pagina "miapagina" risulti caricata SEMPRE sulla finestrella da 
320x240 pixel?
Grazie in anticipo, per il vostro aiuto.
Cooper.
 

 320x240 pixel?
o usi setTimeout (ma è sempre "euristico") oppure anziché una pagina
"blank" apri una semplice pagina html, onload della stessa scateni il
submit dalla finestra madre (opener)
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.


Grazie per la risposta, ma non ho capito bene, ti dispiace farmi un esempio 
pratico?
Per quanto riguarda il setTimeout ho provato a sostiuituire:
        this.form.submit();
con:
        setTimeout ("this.form.submit()", 10000);
e le cose sono migliorate; rispetto a prima, ma quel tuo "euristico" mi 
lascia pensare che il problema cosi facendo non è risolto del tutto per cui 
mi inviti a ricorrere all'altra alternativa; ma proprio riguardo a 
quest'ultima, non ho compreso bene.
Se puoi quindi farmi un esempio pratico partendo dal codice, te ne sarei 
grato.
Grazie ancora,
Cooper.
 

 pratico?
anziché inviare la form dal tasto, dal tasto apri solo la pagina html nella
popup.
Nella popup, onload:
 
https://developer.mozilla.org/En/DOM/Window.onload
Semplicemente ottieni un riferimento alla finestra "madre":
 
https://developer.mozilla.org/en/DOM/window.opener
e scateni la form (es. opener.document.forms[0].submit())
P.s. attenzione ovviamente alla SOP:
 
https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.


Quindi dovrei sosttuire:
        setTimeout ("this.form.submit()", 10000);
con:
        opener.document.forms[0].submit();
corretto?
Grazie ancora,
Cooper. 


Ho provato a modificare la riga del form in questo modo:
<input type="submit" name="join" value="miovalore"
     onclick="window.open('about:blank', this.form.target, 
'width=640,height=480,resizable=no, 
toolbar=no,location=no,directories=no,menubar=no');
window.onload = this.form.target; 
setTimeout(opener.document.forms[0].submit(), 10000);" />
Ma le cose vanno di male in peggio.
Dove ho pasticciato?
Ti ringrazio in anticipo nel dirmi come devo correggere questa riga, per 
assicurarmi che al pressione del button venga SEMPRE aperta una finestra 
dalle dimensioni specificate e il contenuto della pagina non vada nella 
finestra del browser.
Grazie ancora,
Cooper. 

 setTimeout(opener.document.forms[0].submit(), 10000);" />
Riguarda la definizione che ti ho dato di onload, nel tag input non c'entra
un tubazzo, e inoltre va messa nella popup, non nella finestra "madre"
