[RISOLTO][Javascript] aggiungere elemento ad array definito nella finestra madre da popup

  • Creatore Discussione Creatore Discussione Gio Fra
  • Data di inizio Data di inizio

Gio Fra

Nuovo Utente
18 Feb 2016
5
1
3
salve a tutti,
il titolo dice tutto... io ho provato a fare cosi... ma c'è qualcosa che mi sfugge...
codice:
<script type="text/javascript">
function chiudi(){
var op = window.opener;
if (op){
op.lav.push("04 - test");
window.close();
}
}
</script>
ho provato anche con
codice:
op.document.lav.push("04 - test");
nella finestra madre lav è definito cosi:
codice:
var lav = new Array("01 - PROVA LAV 1", "02 - PROVA LAV2", "03 - PROVA 3");
grazie
 
Ciao, il primo che hai postato funziona. metti due alert prima di chiudere vedrai che l'array si incrementa
Codice:
function chiudi() {
                var op = window.opener;
                if (op) {
                    alert(op.lav.length);
                    op.lav.push("04 - test");
                    alert(op.lav.length);
                }
                window.close();
            }
posto la prova completa.
index.html
HTML:
<html>
    <head>
        <script>
            var lav = new Array("01 - PROVA LAV 1", "02 - PROVA LAV2", "03 - PROVA 3");
            function apri() {
                window.open("pupup.html", "", "width=300,height=600");
            }
            function conta() {
                alert(lav.length);
                console.log(lav);
            }
        </script>
    </head>
    <body>
        <input type="button" value="apri" onclick="apri()"/>
        <input type="button" value="conta" onclick="conta()"/>
    </body>
</html>
popup.html
HTML:
<html>
    <head>
        <script>
            function chiudi() {
                var op = window.opener;
                if (op) {
                    op.lav.push("04 - test");
                }
                window.close();
            }
        </script>
    </head>
    <body>
        <input type="button" value="chiudi" onclick="chiudi()"/>
    </body>
</html>
puoi anche evitare di inizializzare la class Array (molto dispendiosa) utilizzando solo le parentesi quadre
Codice:
var lav = ["01 - PROVA LAV 1", "02 - PROVA LAV2", "03 - PROVA 3"];
 
Ultima modifica:
ciao... e grazie della risposta... però ho trovato qual è il vero problema e non so risolverlo...
allora la pagina che apre il popup nella quale è definito l'array... è dentro un frame...
come posso modificare il codice?
 
risolto....e grazie... un errore cretino... l'array era definito dentro una funzione di controllo... non me ne ero accorto...
 
  • Like
Reactions: criric

Discussioni simili