Repository 32bit  Forum
Repository 64bit  Wiki

javascript e funzioni reload()

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

javascript e funzioni reload()

Messaggioda ermes » sab apr 30, 2011 9:58

ciao a tutti.
ho creato alcune pagine web in php.
in particolare, per alcune funzionalità del sistema da una pagina posso lanciare una seconda pagina che, a sua volta può lanciare una terza pagina:
situazion
pagina nonno -> pagina padre -> pagina figlio.

nel sistema attuale, quando chiudo la pagina figlio, con un semplicissimo script faccio aggiornare la pagina padre e quando chiudo la pagina padre faccio aggiornare automaticamente la pagina nonno.

questo lo script:
Codice: Seleziona tutto
<SCRIPT LANGUAGE=\"JAVASCRIPT\">
function aggiorna(){
   opener.parent.location.reload(); /* ricarica la pagina padre */
   self.close();                               /* chiude la pagina corrente */
   }
</SCRIPT>


ora vorrei che alla chiusura della pagina figlio si aggiornasse, oltre alla pagina padre, anche la pagina nonno ma i miei tentativi non funzionano:
Ho provato così:
Codice: Seleziona tutto
<SCRIPT LANGUAGE=\"JAVASCRIPT\">
function aggiorna(){
   opener.parent.location.reload();            /* ricarica la pagina padre */
   opener.parent.parent.location.reload(); /* ricarica la pagina nonno */
   self.close();                                          /* chiude la pagina corrente */
   }
</SCRIPT>


ma mi si aggiorna solo il padre...
cosa sbaglio ?

(ps: spero di essermi spiegato decentemente !)
Avatar utente
ermes
Linux 2.4
Linux 2.4
 
Messaggi: 339
Iscritto il: dom feb 20, 2005 0:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde

Re: javascript e funzioni reload()

Messaggioda teox99 » sab apr 30, 2011 11:34

la tua soluzione oltre che a non essere cross browser è contro gli standard w3cs.
dovresti capire queli sono le tue vere esigenze e riproporre una soluzione funzionante magari usando ajax o simili.
Avatar utente
teox99
Linux 2.6
Linux 2.6
 
Messaggi: 732
Iscritto il: ven lug 25, 2008 13:54
Località: Roma[Eur]
Slackware: 13.37
Desktop: KDE - Xfce

Re: javascript e funzioni reload()

Messaggioda ermes » sab apr 30, 2011 21:22

allora... avrei risolto così:

Codice: Seleziona tutto
<SCRIPT LANGUAGE=\"JAVASCRIPT\">
function aggiorna(){
   opener.parent.location.reload();            /* ricarica la pagina padre */
   opener.opener.parent.location.reload(); /* ricarica la pagina nonno */
   self.close();                                          /* chiude la pagina corrente */
   }
</SCRIPT>


premetto che non sono un esperto e per questo probabilmente non sono riuscito a capire cosa non rispetta gli standard... potresti darmi alcune dritte ?

grazie 1000
Avatar utente
ermes
Linux 2.4
Linux 2.4
 
Messaggi: 339
Iscritto il: dom feb 20, 2005 0:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde

Re: javascript e funzioni reload()

Messaggioda teox99 » dom mag 01, 2011 11:35

il controllo della chiusura, aggiornamento o apertura delle pagine deve essere decisa manualmente dall'utente
le pagine si devono aprire con dei semplici link <a href target>
x questo la tua funzione aggiorna non ha senso di esistere.
Avatar utente
teox99
Linux 2.6
Linux 2.6
 
Messaggi: 732
Iscritto il: ven lug 25, 2008 13:54
Località: Roma[Eur]
Slackware: 13.37
Desktop: KDE - Xfce

Re: javascript e funzioni reload()

Messaggioda ermes » dom mag 01, 2011 14:27

scusa se rilancio la richiesta di chiarimenti.
in effetti le mie maschere si aprono e chiudono attraverso dei link (solitamente metto dei bottoni con link incorporato).
ho creato queste funzioni perchè alla chiusura della pagina (tipicamente per la creazione, la modifica o la cancellazione di un elemento contenuto in un DB) ho la necessità di aggiornare la pagina web che ha lanciato la maschera. Esempio:
ho in una pagina l'elenco degli allievi della mia classe; ad ogni allievo è associato un pulsante per modificare i dati e uno per cancellare l'allievo stesso.
quando uso un pulsante mi si apre una maschera con i dati dell'allievo.
una volta fatta la modifica e deciso di cancellare l'allievo, confermo la decisione con un pulsante che salva i dati, chiude la maschera e riporta il controllo alla pagina di partenza aggiornandola per visualizzare le modifiche operate (e qui interviene la funzione javascript).

quindi mi sembra che tutto avvenga sotto il controllo dell'utente.
mi sfugge qualche cosa ?

grazie per la pazienza
Avatar utente
ermes
Linux 2.4
Linux 2.4
 
Messaggi: 339
Iscritto il: dom feb 20, 2005 0:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde

Re: javascript e funzioni reload()

Messaggioda teox99 » dom mag 01, 2011 14:50

non ci siamo capiti, stai sbagliando semlicemente il modo di pensare.
se vuoi aggiornare dinamicamente delle pagine puoi usare AHAH
http://www.openjs.com/articles/ajax/aha ... over_http/

il tuo problema e' che cosi' facendo lasci aperta la pagina da modificare ed e' logico che poi devi fare i salti mortali per riaggiornarla.
puoi risolvere ancora piu' semplicemente spedendo in post/get le variabili sempre alla stessa pagina.
Avatar utente
teox99
Linux 2.6
Linux 2.6
 
Messaggi: 732
Iscritto il: ven lug 25, 2008 13:54
Località: Roma[Eur]
Slackware: 13.37
Desktop: KDE - Xfce

Re: javascript e funzioni reload()

Messaggioda miklos » dom mag 01, 2011 15:48

Correggetemi se sbaglio, ma secondo me, quello che sta cercando di dirti teox99 e' semplicemente che la tecnica che stai cercando di usare e' una forzatura.
Non serve aprire 3 popup per un applicazione di inserimento / modifica / cancellazione record.
Ti diventa tutto piu' complicato e difficilmente gestibile, soprattutto perche' con molta probabilita' non e' compatibile con tutti i browser in circolazione(ma forse questo aspetto non ti interessa).

Sarebbe piu' semplice e lineare, anziche' aprire i popup, prevedere almeno due pagine, una con la lista dei dati, e l'altra che ti consente di fare inserimenti/modifiche e cancellazioni su di essi.
In questo modo il problema dell'aggiornamento non ti si pone per niente.
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1236
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2

Re: javascript e funzioni reload()

Messaggioda ermes » lun mag 02, 2011 7:58

ok!
ora ho capito.
grazie 1000 ;)
Avatar utente
ermes
Linux 2.4
Linux 2.4
 
Messaggi: 339
Iscritto il: dom feb 20, 2005 0:00
Località: Rho (Mi)
Slackware: current 64
Desktop: kde


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti