Newsgroup: it.comp.lang.javascript
Titolo: Due pagin in una

E' possibile (in javascript o anche in semplice html) dopo
un click con il mouse far visualizzare una pagina html
diversa da quella visualizzata, ma senza aprire una
nuova sessione http?
Mi spiego meglio:
Vorrei creare una pagina html che contenga in realtà due pagine
(un solo file .html) che visualizzi una all'avvio e l'altra al click.
In pratica voglio che la pagina cambi totalmente al click su un bottone
(submit) senza caricare un'altra pagina.
Spero di esser stato chiaro

 wrote in message 87h2mu$6fj$1...@nslave1.tin.it...

Vediamo se il pivellino riesce ad aiutarti...
potresti importare un file .js che contiene una funzione con un
document.clear() seguito da una bella sfilza di document.write(...), i quali
contengono il codice html della nuova visualizzazione.
Quando tu clicchi sul pulsante, richiami la funzione e quella ti cancella la
pagina.
Ho preparato un esempietto, spero che sia quello che intendi (naturalmente
lo script andrà inserito nel .js)
<html>
<head>
<script>
function aggiorna()
{
 document.clear();
 document.write('pippo');
}
</script>
</head>
<input type="button" name="Button" value="Button" onClick='aggiorna();'>
</html>

Allora, come direbbe the fly, usa un layer.
Anzi, due. Uno sopra l'altro. Uno visibile e uno invisibile. In IE è un
giochetto, in NS un po' meno. Se ce la fai da solo bene, altrimenti sentiti
libero di scrivermi, anche via E-Mail.


>In IE č un giochetto
Io non direi. Prova e sappimi dire, soprattutto con DIV != da 100%
---
the fly on the net
il webmaster piů alto del mondo
"the Art of JavaS." 
http://www.probo.it/aoj
"the devil inside" 
http://members.tripod.com/netfly
e-mail: 
net...@netbusiness.it

 il webmaster più alto del mondo



Innanzitutto grazie per la risposta (esaustiva data la presenza
anche dell'esmpio) il mio problema non è però risolto.
Forse è una cretinata ma non so come fare e così mi spiego bene.
Ho una applicazione che invia dati tramite un click su un bottone,
quello che mi serve è che alla pressione venga fuori la scritta
attendere prego (e fin qui niente problemi) ma che poi il bottone
di tipo submit continui nel suo dovere di inviare i dati!!!!
In pratica quello che voglio evitare è che l'utente clicki nuovamente
sul bottone e faccia accodare ad i dati inviati i dati ripetuti.
Il codice è questo io vorrei aggiungervi le righe di codice
consigliate da te ma lo script mi fa partire la function
aggiorna (come l'hai chiamata tu) e mi ferma la pagina.
(dall'altra parte c'è una servlet che mi dovrebbe rispondere ma a cui
non arriva assolutamente nulla)
<form method="GET">
    <p><input type="image" name="HomeInput"
src="
http://ntsviluppo/images/home.gif
"
    align="bottom" border="0" width="97" height="47">
    <input type=hidden name="page" value="home">
    <input type=hidden name="utente" value="949426896849216991">
    </p>
</form>
dove sbaglio????
Grazie per qualsiasi pur piccolo suggerimento

</BODY>
Ho detto != 100%
Ovvero in js "diverso da 100%"
Se per esempio metto un'immagine di 40px di larghezza e non specifico nessuna larghezza per il layer, vedrai che (al contrario di
NS) il layer non avrà larghezza 40px, ma appunto 100%!!!!
Do la dimensione a 40px del layer via CSS? Non la prende!!!! Bisogna impostare 40 e basta, senza "px"... eppure 40px è
sintatticamente giusto....
Ti pare che sia ancora un giochetto?
Eppoi, per esempio, se specifico un layer di larghezza 500px, e ci metto del testo dentro senza andare a capo, il layer viene
ridimensionato per adattarsi al testo (o al massimo compaiono le scrollbar oppure il testo viene tagliato)... in nessun caso il
testo va a capo da solo (come se fosse all'interno di una cella di tabella).
L'unica soluzione è mettere una tabella con larghezza fissa, così da obbligare il testo ad andare a capo... ma in questo modo ho le
mani legate per ridimensionare il layer dinamicamente....
Inutile poi infierire sul fatto che con IE non riuscirò mai a sapere quanti pixel è largo un layer impostato in % (stringa vuota).
Ma questo ormai è un big trito e ritrito, e ormai mi sono rassegnato.


 Inutile poi infierire sul fatto che con IE non riuscirò mai a sapere quanti
pixel è largo un layer impostato in % (stringa vuota).
Mi pare basti settare solo la larghezza o l'altezza, e l'altra dimensione non
restituisce più null o undefined o "". Io comunque sono una di quelle persone
che pensano tutto in anticipo, che pianificano la pagina pixel per pixel, e
queste sorprese non mi arrivano mai. (certo però che è stressante, qualcuno l'ha
già fatto presente alla MS? Io lo farei volentieri, ma non so a chi rivolgermi)
***ULTIM'ORA***
style.display = "inline"
(per i DIV l'impostazione di default è "block")

| Innanzitutto grazie per la risposta (esaustiva data la presenza
| anche dell'esmpio) il mio problema non č perň risolto.
| Forse č una cretinata ma non so come fare e cosě mi spiego bene.
| Ho una applicazione che invia dati tramite un click su un bottone,
| quello che mi serve č che alla pressione venga fuori la scritta
| attendere prego (e fin qui niente problemi)
    beh, se la scritta la fai comparire su una popup, non dovresti avere
problemi, prova a vedere il mio esempio:
<html>
<head>
<script>
<!--
function popup()
{
     var nuovaFinestra = window.open('wait.htm', "attesa",
'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizabl
e=0,width=370,height=80');
     return true;
}
// -->
</script>
</head>
<body>
    <form method="GET" action="info.htm">
        <input type=button value="pippo" onClick="popup();
submit(this.form);">
        <input type="image" name="HomeInput"
src="
http://ntsviluppo/images/home.gif
" align="bottom" border="0" width="97"
height="47">
        <input type=hidden name="page" value="home">
        <input type=hidden name="utente" value="949426896849216991">
    </form>
</body>
</html>
Non appena la finestrella č carica la pagina passa i dati del form al cgi.
Se vuoi puoi inserire un timer che chiude automaticamente la finestra.
Stavolta spero di esserti stato piů utile....
Ciao!
andrea/bergamasco
www.agix.it
www.soconsul.com
www.bertossiemanuele.com