Newsgroup: it.comp.lang.javascript
Titolo: Reload e scroll dell'iframe

Salve,
ho un problema relativo all'uso degli iframe.
Ho una pagina in cui c'e' un form con due textearea e un pulsante per 
inviare i dati.
Tali dati vengono inviati ad una pagina di nome chat.php (tramite 
l'istruzione action contenuta nel form) e come target ho messo il nome 
dell'iframe.
Nella pagina chat.php c'e' il codice javascript per fare il reload della 
pagina e per eseguire lo scroll a fine pagina, tramite questo codice:
<script type = "text/javascript">
  window.setTimeout("window.location.reload(true);", 5000);
  window.scrollTo(0, window.screen.height * window.screen.width);
 </script>
Ma purtroppo ho notato che lo scroll non fa a fine frame e il reload viene 
eseguito su tutta la pagina, infatti si apre la finestra in cui dice che per 
visualizzare nuovamente la pagina web bisogna inviare le informazioni 
tramite internet explorer, etc... e ci sono i due pulsante Riprova e 
Annulla.
Che istruzioni devo usare per applicare le istruzioni solo al iframe?
Probabilmente il problema e' legato al "window" che precede i nomi delle 
funzioni, ma cosa dovrei mettere allora?
Inoltre l'intestazione:
<script type = "text/javascript">
E' corretta? O devo aggiuntere qualche altra cosa tipo il nome del 
linguaggio usato?
Grazie 

 linguaggio usato?
E' corretta (c'è già scritto il linguaggio usato). Esiste anche
language="javascript" ma direi che è inutile (oltre che deprecato).
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 per ricaricare?
A me serve che si aggiorni senza richiedere l'invio e che scrolli fino alla 
fine, come avverrebbe in una comune pagina html. 

 fine, come avverrebbe in una comune pagina html.
se stai inviando i dati via post (che è quello che stai facendo) non puoi
farci nulla (anche una comune pagina html se riceve dati via post e premi
F5 ti compare quel messaggio)...
Come risolvere? in altro modo, ma dipende dal contesto che non ci hai
detto.
Se, semplicemente, devi ricaricare la pagina *SENZA* i dati del post,
anziché reload ricarica la pagina (window.location.href='tuapagina.htm')
-- 
"Capivamo di essere tanti
 capivamo di essere forti,
 il problema era solamente
 come farlo capire ai morti."
									    C.L.

 anziché reload ricarica la pagina (window.location.href='tuapagina.htm')
Ok, cosi funziona, immaginavo fosse legato al post (usando get darebbe gli 
stessi problemi?).
Ma adesso rimane il problema dello scroll. Non riesco a farlo scrollare fino 
alla fine.
Eppure scrollTo dovrebbe servire a questo, passando come secondo paramentro 
un intero molto grande (mi sia dire qual è il valore massimo accettato?).
Grazie 

 alla fine.
beh, ma scusa, gli dici di ricaricare la pagina e subito dopo di fare lo
scroll ... forse non hai bene in mente il flusso delle pagine html: se dici
"ricarica" ... ricarica. Tutto ciò che c'è dopo viene ignorato (o anche se
viene eseguito non appena ricarica perdi tutto).
Devi quindi trovare un modo (cookie? querystring?) per dire alla pagina che
è stata ricaricata (e quindi non ricaricarla nuovamente ma fare lo scroll).
Altrimenti continua a ricaricarsi ogni 5 secondi ...
Devi studiarti meglio il flusso.
Documentazione di scrollTo (e metodi collegati):
 
https://developer.mozilla.org/en/Window.scrollTo


 Altrimenti continua a ricaricarsi ogni 5 secondi ...
Deve ricaricare e scrollare, ogni 5 secondi. E' possibile qualcosa di 
simile?
Ciao 

 simile?
 - form con target="nametuoframe", passa anche un campo nascosto (es.
name="ricarica", value="1")
 - server-side se hai ricarica=1 scrivi l'istruzione javascript per
ricaricare, altrimenti scrivi l'istruzione javascript per lo scroll.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

Ho notato che anche disattivando il reload, lo scroll non va lo stesso fino 
in fondo.
Ma ho risolto con questa istruzione:
window.scrollTo(0, document.body.scrollHeight * 1000);
Tutta via non capisco perché se uso questa:
window.scrollTo(0, 2000000);
Lo scroll non va, eppure il prodotto document.body.scrollHeight * 1000 č 
minore... forse con quell'istruzione riesce a calcolare meglio l'altezza, 
non saprei... pensavo bastasse settare un valore molto alto di pixel. 

 non saprei... pensavo bastasse settare un valore molto alto di pixel.
boh, immagino ci sia qualche limite (20 milioni di pixel sono veramente una
esagerazione, se qualcuno mi fa una pagina alta 20 milioni di pixel lavoro
per tirargli giù il sito ... :-))
Potresti anche mettere un anchor a fine pagina con un name e usare hash per
rendere visibile a video questo anchor (tanto la compatibilità con xhtml te
la sei già giocata usando target):
 
https://developer.mozilla.org/en/DOM/window.location
es. in fondo alla pagina <a name="saltaqua"></a>
 e location.href="#saltaqua"
(p.s. ho vaghi ricordi di problemi con IE4, se ti serve compatibilità con
tale browser fai qualche test)
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 e location.href="#saltaqua"
L'avevo fatto precedentemente ma avevo problemi col settare il focus di un 
componente, ma adesso in effetti ho fatto delle modifiche e il focus non mi 
serve più, se ho problemi provero' questo metodo da te suggerito :)