Newsgroup: it.comp.lang.javascript
Titolo: self.opener.document

Vi spiego il mio problema:
per inserire la data, correttamente formattata, in una casella di testo uso 
ts_picker.js
mi compare una nuova finestra con un calendario
scelgo un giorno (esempio 14/08/2007)
si chiude la finestra
mi compare la data nella casella.
Questo funziona se il nome della pagina è, ad esempio 
www.miosito.it/pagina.php
quando invece la pagina visualizzata è 
www.miosito.it/pagina.php?quale=cartella/file.php
 visualizzo il calendario 
ma, cliccando su una data non succede nulla.
Secondo me, per "LUI" l'opener è 
www.miosito.it/pagina.php?quale=cartella/file.php
 mentre in realtà il form 
appartiene a 
www.miosito.it/pagina.php
Come posso ovviare?
Vi riporto qualche riga di ts_picker.js
 vCode = vCode + "<TR>";
 for (i=0; i<vFirstDay; i++) {
  vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT 
SIZE='2' FACE='" + fontface + "'> </FONT></TD>";
 }
 // Write rest of the 1st week
 for (j=vFirstDay; j<7; j++) {
  vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT 
SIZE='2' FACE='" + fontface + "'>" +
   "<A HREF='#' " +
    "onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
    this.format_data(vDay) +
    "';window.close();\">" +
    this.format_day(vDay) +
   "</A>" +
   "</FONT></TD>";
  vDay=vDay + 1;
 }
 vCode = vCode + "</TR>";

 appartiene a 
www.miosito.it/pagina.php
No, l'opener è un riferimento ad un oggetto di tipo window rappresentante
la finestra "madre", non credo che conti l'indirizzo della pagina caricata
in essa. A mio avviso, l'errore è altrove.
-- 
Nando [?]
Apostolo della Prova

 Vi spiego il mio problema:
Esiste univoco per indicare una pagina che non sia "self.opener.document" 
???

 Qualcosa succede sempre. Cosa dice la console degli errori di Firefox?
Mentre con IE non succede nulla
con Firefox, dopo aver cliccato su una data, si apre la pagina madre DENTRO 
la finestrella del calendario

 in essa. A mio avviso, l'errore è altrove.
------------------
Intanto, quando uso quello stesso script dalla pagina 
www.miosito.it/pagina.php
 tutto funziona alla perfezione 

 ha scritto nel messaggio 

Ribadisco, non credo c'entri con la location della pagina madre; mi ripeto:
cosa dice la console degli errori di Firefox?
Oltre al fatto che mi pare strano (o, meglio, bruttino) un data-picker
realizzato con una finestra separata...


 cosa dice la console degli errori di Firefox?
Errore: self.opener.document.formData.inizio has no properties
File sorgente: 
http://www.miosito/index.php?quale=atti/atti.php
Riga: 1 

 
www.miosito.it/pagina.php
 tutto funziona alla perfezione
Cioè, ma dire quale errore viene segnalato pare brutto? Postare un link
alle pagine interessate è un problema?
Ripeto: sono convinto che l'errore sia altrove e che il fatto che
"funzioni" nel caso che indichi è solo una combinazione. Se mi vuoi
credere, bene, altrimenti non so che dirti :)


 ha scritto nel messaggio 

C'è un campo con nome "inizio" nel form "formData"? Come apri la finestra
del date picker?


 del date picker?
Sě, c'č un campo che si chiama "inizio"
la finestra la apro con
<a href="javascript:show_calendar('formData.inizio');"><img 
src="javascript/cal.gif" border=0></a> 

 alle pagine interessate è un problema?
Non è un problema:
funzionante: 
http://www.provinciacl.netandgo.eu/atti/inserimento_atti_1.php
non funzionante: 
http://www.provinciacl.netandgo.eu/index.php?quale=atti/atti.php
ciao
www.salvatorepaci.it

 ha scritto nel messaggio 

Argh! Ho dato un occhio, non sono riuscito a capirci granché... dovresti
provare a fare un po' di debug e capire dove nasce il problema. Un
tentativo (poco scientifico) sarebbe commentare la riga
  vWinCal.opener = self;
nella funzione show_calendar, nel file ts_picker.js; sinceramente, lo
script è tremendamente ingarbugliato e, senza un po' di debug, mi riesce
assai difficile capirci qualcosa... servirebbe qualcuno più esperto. Mi
spiace di non esserti stato d'aiuto.


 spiace di non esserti stato d'aiuto.
--------------
Scoperto l'arcano.
Non so perché ma cambiando il nome al form si è sistemato tutto.
grazie lo stesso 

 grazie lo stesso
Di niente.
