Newsgroup: it.comp.www.html
Titolo: Gestire Html da Javascript

Ciao a tutti.
Ho un piccolo grande problema.
Sto creando una specie di gioco in formato web, e per fare ciň ho deciso di
fare una pagina html dove metto delle opzioni e, dopo aver selezionato le
opzioni cliccando su un pulsante si apre una nuova pagina (una sorta di
PopUp). In questa nuova pagina che ho creato vado a posizionare dei Select,
dei pulsanti, e tutto ciň che mi serve per procedere con il gioco. Come
faccio a creare le funzioni per i pulsanti o per le Select della nuova
pagina visto che quando sto all'interno di questa praticamente e come se le
funzioni create all'interno della pagina principale non vengono + prese in
considerazione?? Devo cambiare strategia???
Di seguito vi posto parte del codice in modo che (spero) posso essere +
chiaro:
function CreaFinestra()
     {
     finestra = window.open("", "Gioco", "width=400, height=300, toolbar=0,
status=0");
     for(i=1; i<=Livello; i++)
       {
      finestra.document.write("<div id='Layer'"+i+" style='position:
absolute; left: 0px; top: 30px; width: 60px; height: 30px; z-index:" +i+ ";
vertical-align: middle'>");
      finestra.document.write("<select name='Selettore"+i+"'");
      finestra.document.write("<option value=-3></option>");
      finestra.document.write("<option value=1>"+1+"</option>");
      finestra.document.write("<option value=2>"+2+"</option>");
      finestra.document.write("<option value=3>"+3+"</option>");
      finestra.document.write("<option value=4>"+4+"</option>");
      finestra.document.write("<option value=5>"+5+"</option>");
      finestra.document.write("</select>");
      }
     finestra.document.write("</div>");
     finestra.document.write("<div id='Layer17' style='position: absolute;
left: 0px; top: 60px; width: 60px; height: 30px; z-index:17; vertical-align:
middle'>");
     finestra.document.write("<input type='button' value='Prova'
onclick='Prova()'/>");
     }
In pratica non mi funziona l'ultima riga di codice, e inoltre dovrei creare
anche nuove funzioni a secondo della selezione effettuata.
Grazie a tutti.

Se non ho capito male ti viene generato un errore quando fai clic sul
pulsante Prova.
Questo perchè (sempre se ho capito bene!) la tua funzione Prova che viene
richiamata dal pulsante è definita nella pagina da cui apri la popup e non
nella popup stessa quindi il pulsante "non può vederla"...
Hai due possibili soluzioni:
1) dichiari la funzione nella pagina di popup aggiungendo (nella tua
funzione CreaFinestra) una riga di codice tipo:
    finestra.Prova=new Function(<array di parametri>, <codice della funzione
sottoforma di stringa>);
2) fai in modo che il pulsante richiami la funzione della pagina che ha
aperto la popup modificando (nella tua funzione CreaFinestra) la riga di
codice che "scrive" il pulsante in questo modo:
    finestra.document.write("<input type='button' value='Prova'
onclick='window.opener.Prova()'/>");
Attenzione che le due soluzioni hanno una sottile ma importante differenza:
infatti se all'interno della funzione Prova fai riferimento a this nel primo
caso this rappresenta la finestra di popup mentre nel secondo caso this
rappresenta la finestra madre!!!
Tieni le due righe di codice di cui sopra le ho scritte "d'istinto" potrebbe
esserci qualche imperfezione ma il concetto di base resta lo stesso! ;-)
Spero di esserti stato d'aiuto... ciao!
    Andrea