Newsgroup: it.comp.lang.javascript
Titolo: window.opener

Tramite un'icona partendo dalla pagina A apro la pagina B.
Nella pagina B in js riesco a governare tutti gli oggetti della pagina A
tramite window.opener ...per esempio:
window.opener.document.frm.cognome.value='rossi';
window.opener.document.frm.nome.value='mario';
window.opener.document.frm.codcittadinanza.value=100;
window.opener.document.frm.codstatonascita.value=100;
window.opener.document.frm.codprovincianasc.value='010';
window.opener.document.frm.sesso[1].checked = true;
window.opener.document.frm.datanascitay.value = 1933;
window.opener.document.frm.datanascitam.value = 9;
window.opener.document.frm.datanascitad.value = 8;
window.opener.document.frm.cognome.disabled = true;;
window.opener.document.frm.nome.disabled = true;
e funziona tutto alla perfesione ma l'unica cosa che non riesco a fare è
aggiugere un elemento ad una combo vuyota:
prov = new Option('PROVINCIA ESTERA SCONOSCIUTA','999');
window.opener.document.frm.codprovincianasc.options[0] = prov;
window.opener.document.frm.codprovincianasc.value = '999';
da notare che utilizzo la stessa cosa nella pagina A ma senza il
window.opener e funziona tranquillamente
provincia = new Option('PROVINCIA ESTERA SCONOSCIUTA','999');
document.frm.codprovincianasc.options[0] = provincia ;
document.frm.codprovincianasc.value = '999';
A qualcuno è successo qualcosa di simile o sa che nella finestra opener non
si possono aggiungere elementi alla combo?
-- 
Claudio P.

 
http://forums.devshed.com/archive/t-76054
Ho letto ma mi sembra che non ci sia una soluzione valida.
C'è un evento che vien scatenato sulla finestra aprente A quando la finestra
a perte B viene chiusa?
Se ci fosse il modo per farlo lo avrei trovato, valorizzo due campi nascosti
della finestra A con i valori che voglio mettere nella combo e quando e
invece di valorizzare la combo della finestra A dalla pagina B quando si
chiude B la valorizzo direttamente da A .........però non riesco a trovare
un eveto che si scatenti su A quando B si chiude
-- 
Claudio P.

Hai provato, dalla finestra B, a chiamare una function nella finestra A che
inserisce la option?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M. -- 

 a perte B viene chiusa?
No, pero' puoi impostare l'onunload sulla finestra figlia, in modo che
richiami una tua funzione sulla finestra madre:
(figlia)
<body onunload="opener.notifyUnLoaded(window)">
(madre)
function notifyUnLoaded(winobj){
	/* do something */
}
Il fatto e' che l'evento onunload e' relativo al documento, non alla
finestra. Quindi viene scatenato sia quando l'utente chiude la finestra,
sia quando fa un refresh della pagina in essa contenuta, sia quando carica
un altro documento.
Alla peggio, potresti barcamenarti un po' tra interval e proprieta' closed,
ma sono cose che normalmente sconsiglio.
Nel tuo caso poi, non ce n'e' bisogno a mio avviso.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Alcune persone sono ancora vive per il semplice motivo che e'
illegale ucciderle.

 window.opener.document.frm.codprovincianasc.value = '999';
with (window.opener.document.frm.codprovincianasc) {
    options.length++;
    options[options.length -1].text='PROVINCIA ESTERA SCONOSCIUTA';
    options[options.length -1].value='999';
}
-- 
Splendente in eta` acerba di passione
Rosso fiammante
Ma senza eta` matura
Marcia impostura

 </script>
Questo lo avevo già provato ma non funziona perchè anceh se la funzione è
sulla madre ma la chiamo dalla figlia mi da sempre lo stesso problema
-- 
Claudio P.

> (madre)


No, qua l'oggetto lo crei sulla madre, quindi funziona. L'ho testato e sul
mio IE6 non da' il problema da te riportato.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
You don't have to be crazy to be a webmaster. But it helps.