Refresh nei frames

Preambolo

ho realizzato una pagina main.php con 2 frames:

<frameset cols="20%,*" frameborder="no">      
      <frame name="squadra" src="frame1.php"  noresize scrolling="No">
      <frame name="giocatori" src="frame2.php" noresize scrolling="No" >
   <noframes>
      <p>Sorry, your browser don't support frames!</p>
   </noframes>
</frameset>

L'idea č che nel frame1 ho le funzionalitą da attivare nel frame2 dal contenuto variabile. All'avvio della pagina principale (main.php) vengono richiamati i due frames:

1.frame1.php: legge le impostazioni memorizzate su un DB e visualizza la funzioni possibili da attivare;

2.frame2.php: all'inizio č vuota, il suo contenuto varia in base alle funzioni di frame1.php che vengono attivate.

Problema

Le funzioni attivabili da frame1.php dipendono dalle impostazioni settate in un DB. Supponiamo di essere nello stato A. Viene attivata una funzione che (in caso di successo) porterą lo stato a B. Siccome la funzione richiama l'esecuzione sul frame2, come posso fare ad aggiornare il frame1 con il nuovo stato. Avrei bisogno di una funzione da richiamare nel frame2 e che mi realizzasse il REFRESH di main.php.

Ho provato con header("location: ..."); ma questa permette il redirect solo nel frame2 da dove la richiamo e non in tutta la pagina main. :idiot:

Spero di non essere stato troppo criptico  :-\

Grazie :bye:

inviato 11 anni fa
Nico Colonna
X 0 X

I frames fanno sempre casino, bisognerebbe abolirli...  >:D

Questo problema si risolve con un po' di Javascript. Nella pagina che riesci ad aggiornare prova a mettere il seguente script:

<script language="javascript">

parent.frames['nome_frame'].location.reload();

</script>

dovrebbe aggiornare l'altro frame, ma non garantisco...

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

 O0 testato - funzionante - OTTIMO!!

Grazie  ;D

risposto 11 anni fa
Nico Colonna
X 0 X

Ma dove devo mettere lo javascript. se lo metto semplice mette nella paggina da solo vą in loop di aggiornamento continuo.  :buck:

risposto 10 anni fa
Marco Dario
X 0 X

A e B sono i frames. In A vengono effettuate delle modifiche che B visualizza solo al suo caricamento. Pertanto il javascript lo devi usare in A (nel blocco di codice che effettua le modifiche) in modo da ricaricare B.

 :bye:

risposto 10 anni fa
Nico Colonna
X 0 X

Ok grazie oggi provo! Poi ti dico!  O0

risposto 10 anni fa
Marco Dario
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda