Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    39

    Firefox e Javascript - refresh 2o frame

    ciao!

    da un menu nel frame sommario richiamo dei dati da visualizzare nel frame principale(home.php) e fin qui è tutto ok.

    nel file home.php caricato nel frame principale includo la seguente funzione javascript che mi serve per il refresh del frame base posto sotto il principale con lo scopo di di refreshare a sua volta, avando e/o retrocedendo di un record
    la select nel file home.php.
    PROBLEMA

    tutto ciò mi funziona in MSIE ma con il Firefox (credo con tutto ciò che ha base gecko) mi crea i seguenti problemi

    la prima volta non mi carica nulla nel frame base e quindi sono costretto ad un altra selezione dell'oggeto.

    la seconda volta mi carica il frame base correttamente ma due volte e non procede oltre il secondo record sia avanzando che retrocedendo...

    se da menu selezione un altro argomento mi carica il frame base sempre due volte ma la prima volta tiene buona la prima selezione assoluta che ho fatto e poi carica quella attuale e selezionando record succesivo sia dalla scelta attuale che dalla scelta prima assoluta mi avanza solo di un record della prima scelta assoluta bloccandosi..

    penso che per come sia strutturato lo script qui sotto non carica e/o cancella correttamente i vecchi dati durante il refresh di home.php

    questo è lo script incluso in home.php

    Codice PHP:
    echo '<SCRIPT LANGUAGE="javascript">'."\n";
        echo 
    'function base() {'."\n";
        echo 
    'parent.base.document.write(\'<HTML>\');'."\n";
        echo 
    'parent.base.document.write(\'<HEAD>\');'."\n";
        echo 
    'parent.base.document.write(\'</HEAD>\');'."\n";
        echo 
    'parent.base.document.write(\'<body '.$M["sfondo"].'>\');'."\n";
        echo 
    'parent.base.document.write(\'<CENTER><TABLE width="100%" BORDER="0" cellspacing="0" cellpadding="0" '.$M["sfondo"].'">\');'."\n";
        echo 
    'parent.base.document.write(\'<TR>\');'."\n";
        echo 
    'parent.base.document.write(\'<TD VALIGN="Top" WIDTH="15%" ALIGN="Left"><FORM METHOD="POST" ACTION="home.php?tabella='.$_GET["tabella"].'&a='.($_GET["a"]-1).'" TARGET="principale"><INPUT TYPE="submit" VALUE=" <<- " CLASS="link"></FORM></TD>\');'."\n";
        echo 
    'parent.base.document.write(\'<TD VALIGN="Top" WIDTH="*%" ALIGN="Center">'.$r." - ".$nrighe.'</TD>\');'."\n";
        echo 
    'parent.base.document.write(\'<TD VALIGN="Top" WIDTH="15%" ALIGN="Right"><FORM METHOD="POST" ACTION="home.php?tabella='.$_GET["tabella"].'&a='.($_GET["a"]+1).'" TARGET="principale">'.$cFVars.'<INPUT TYPE="submit" VALUE=" ->> " CLASS="link"></FORM></TD>\');'."\n";
        echo 
    'parent.base.document.write(\'</TR>\');';
        echo 
    'parent.base.document.write(\'</TABLE></CENTER>\');'."\n";
        echo 
    'parent.base.document.write(\'</BODY>\');'."\n";
        echo 
    'parent.base.document.write(\'</HTML>\');'."\n";
        echo 
    '}'."\n";
        echo 
    'base();'."\n";
        echo 
    'parent.base.location.reload();'."\n";
        echo 
    '</SCRIPT>'."\n"
    mi sa che se chiedevo come si fa facevo prima e meglio.
    grazie per chi si prende la briga di leggere il romanzo
    mi prosto ai suoi piedi per chi mi spiega perchè sono un utonto e dove sbaglio..
    ciao!
    il mio vano motore è troppo vano e poco motore (elio e le storie tese)
    Infinite cose da fare e così poco tempo (Joker a Batman)

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sinceramente non credo di aver capito molto (e aver fornito un codice misto server client non aiuta)
    però se con "carica il frame base correttamente ma due volte" intendi che lo scrive e poi ricarica
    mi sembra sia nel codice, dopo aver scritto il contenuto lanci anche un parent.base.location.reload();
    (il cui senso, ad ogni modo, mi sfugge)

    cmq ti consiglio di chiudere lo stream di dati verso il documento nel frame base
    ...
    echo 'parent.base.document.write(\'</BODY>\');'."\n";
    echo 'parent.base.document.write(\'</HTML>\');'."\n";
    echo 'parent.base.document.close();'."\n";
    echo '}'."\n";

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    39
    ciao!

    subito ti ringrazio perchè il problema della doppia ricarica è risolto...

    allora vedo se sono più chiaro su quello che volevo e quello che ho fatto!

    QUELLO CHE VOLEVO

    carico nel frame principale HOME.PHP che in base alla select carica il primo record di n record, attiva inoltre la funzione javascript prima descritta (incapsulata nel file php).

    questa funzione aggiorna il frame base con
    sinistra bottone indietro di 1 (se 0 non aggiorna)
    centro 1 di n records
    destra avanti al 2 (se maggiore di n non aggiorna)

    alla selezione di uno dei bottoni ricarica HOME.PHP passando dal 1 al 2 record e aggiorna il frame base così

    sinistra torna al 1
    centro 2 di nrecords
    destra avanza al 3

    QUELLO CHE HO FATTO

    l'hai già visto...

    il reload serve per aggiornare il frame base quando il frame base ricarica home.php questo io volevo ma molto probabilmente non posso

    ciao e grazie
    il mio vano motore è troppo vano e poco motore (elio e le storie tese)
    Infinite cose da fare e così poco tempo (Joker a Batman)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.