Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    impostare doctype charset ecc... in una popup

    Ciao a tutti...

    una domanda rapida su una cosa che mi sta rubando energie...

    ho questo scriptino per visualizzare in popup il testo inserito in una textarea...

    codice:
    <html><head>
    
    <script type="text/javascript" language="JavaScript">
    <!--
    function creaPop() {
       Poppizzami = window.open('','miofile', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600')
       Poppizzami.document.write("testo: ");
       Poppizzami.document.write("" + document.mytextarea.testo.value + " ");
    }
    //-->
    </script>
    </head><body >
    
    <form name="mytextarea">
    inserisci testo: 
    
    <input length="20" name="testo" size="20" /> 
    <input type="button" value="Genera testo" onClick="creaPop();" />
    <input type="reset" name="reset" value="Cancella" />
    </form>
    
    </body></html>
    tutto a posto...
    ciò che inserisco nell'input con name TESTO mi viene visualizzato in popup...

    il popup ha il menu, quindi puoi salvare come paginaweb...

    ma il file che ottieni è come il seguente:

    codice:
    <html><head></head><body>testo: libertà </body></html>
    ovvero senza doctype charset ecc...

    risultato: una parola come libertà la vedo visualizzato come libertÃ...

    che posso fare?

    grazie in anticipo e comunque per ogni consiglio
    ciao ciao
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  2. #2
    ciao, prova con questa modifica:

    codice:
     Poppizzami = window.open('miofile.htm','miofile', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600')
       Poppizzami.document.getElementById('idlivello').innerHTML="testo: "+document.mytextarea.testo.value;
    ovviamente miofile.htm è una pagina web normale (nella quale, dunque, puoi impostare il doctype) che contiene un div con id=idlivello nel quale comparirà il testo.

    saluti

  3. #3
    acc... VVoVe:

    il problema non è dovuto all'assenza di doctype o charset...

    ho aggiunto queste due righe allo scriptino
    codice:
    	Poppizzami.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
    	Poppizzami.document.write('<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />');
    e ottengo questo risultato (documento con doctype e charset, ma con libertà )

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"></head><body>testo: libertà </body></html>
    cosa posso fare allora?
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  4. #4
    grazie moaiamorfo... purtroppo mentre aggionravo il mio post arrivava la tua risposta...


    ho provato come dici tu...

    ma succede una cosa strana:

    la prima volta il popup di miofile.htm è vuoto...

    se poi faccio F5 e inserisco ancora testo allora vedo il risultato...

    BIZZARRO...

    Inoltre mi chiedevo:
    col tuo metodo devo creare prima il file miofile.htm?
    e in tal caso, se due client generano testo cosa succede?

    forse sono fuori strada...

    se hai due minuti mi fai un po' chiarezza?

    grazie comunque dell'interesse...
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  5. #5
    mmm... :master:

    ...ricapitolando in maniera sistematica e ordinata (anche se ormai l'argomento della discussione è cambiato):

    in popup.html ho questo codice:

    codice:
    <html><head>
    
    <script type="text/javascript" language="JavaScript">
    <!--
    function creaPop() {
    	Poppizzami = window.open('miofile.htm','miofile', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600')
    	Poppizzami.document.getElementById('idlivello').innerHTML="testo: "+document.mytextarea.testo.value;
    	Poppizzami.document.write("testo: ");
    	Poppizzami.document.write("" + document.mytextarea.testo.value + " ");
    }
    //-->
    </script>
    </head><body >
    
    <form name="mytextarea">
    inserisci testo: 
    
    <input length="20" name="testo" size="20" /> 
    <input type="button" value="Genera testo" onClick="creaPop();" />
    <input type="reset" name="reset" value="Cancella" />
    </form>
    
    </body></html>

    allo stesso livello ho miofile.html

    codice:
    <html><body>
    <div id="idlivello"></div>
    </body></html>

    Se in popup.html scrivo PAROLA nel campo con name="testo" e clicco il tasto Genera testo ottengo la popup vuota di miofile.htm

    Se faccio refresh di popup.html e poi clicco di nuovo su Genera testo... allora ecco che nella popup di miofile.htm compare PAROLA

    Per provare ecco una VERSIONE ONLINE...

    Come si spiega?
    Come si risolve?

    :master:
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  6. #6
    ...aridaje ancora...

    ho modificato un po'... ecco c'è L'ULTIMA VERSIONE ONLINE

    in pratica imbroglio sul refresh... facendo attivare due volte creaPop();:

    siccome la prima volta mi apre il popup vuoto, allora ho messo un tasto che APRE il documento e uno che lo RIEMPIE...

    <input type="button" value="Apri documento vuoto" onClick="creaPop();" />
    <input type="button" value="Compila documento" onClick="creaPop();" />

    è una soluzione (s)porca, ma potrebbe anche andarmi bene dati i miei limiti...

    l'unico problema è che funziona con FF e con IE7, ma non con IE6 che mi restituisce questo errore:
    Poppizzami.document.getElementbyId(...)'è nullo o non è un oggetto


    Non è che qualcuno degli esperti mi caverebbe 'sto dente avvelenato... è dalle 4 che ci smanetto e si è fatto buio...
    sono solo dieci righe di js... ve le posto di seguito e comunque c'è L'ULTIMA VERSIONE ONLINE

    codice:
    function creaPop() {
    	Poppizzami = window.open('miodocumento.html','miodocumento', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600')
    	Poppizzami.document.getElementById("display").innerHTML=document.mytextarea.testo_01.value+document.mytextarea.testo_02.value;
    	Poppizzami.document.write("<div style=\"background:#FFFF99; border:1px solid #FF0000; padding:30px;\">Testo 1: ");
    	Poppizzami.document.write("" + document.mytextarea.testo_01.value + " ");
    	Poppizzami.document.write("</div>");
    	Poppizzami.document.write("<div style=\"background:#FFFF99; border:1px solid #FF0000; padding:30px;\">Testo 2: ");
    	Poppizzami.document.write("" + document.mytextarea.testo_02.value + " ");
    	Poppizzami.document.write("</div>");
    }

    In ogni caso, grazie sempre e comunque a tutti...


    Per la cronaca:
    in locale gli IE non danno problemi e non hanno bisogno del doppione della funzione...
    FF invece sempre uguale a se stesso...
    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    vari errori

    se apri una popup non puoi sperare di dialogare con elementi appartenenti al documento caricato nella popup immediatamente dopo
    se ci riesci e' perche' e' ripescata dalla cache, quindi il tutto e' fondamentalmente inaffidabile

    sei partito dal voler scrivere tutto il contenuto dalla principale, che e' corretto
    codice:
    function creaPop() {
       Poppizzami = window.open('','miofile', 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600')
       Poppizzami.document.write("testo: ");
       Poppizzami.document.write("" + document.mytextarea.testo.value + " ");
    }
    ma tutto vuol dire tutto: doctype, head, title, meta, body, chiudi quello che va chiuso

    poi il flusso di dati verso la popup va chiuso, dopo l' ultimo document.write
    Poppizzami.document.close()

    quello che salvi via save del browser dipende dal browser:
    IE puo' fare quello che vuole al documento, per esempio aggiungera' un motw,
    o magari cambiera' il tuo doctype
    ma perche' ti interessa come salva il browser?

    se invece apri un documento ben definito (non scritto in runtime) questo dev' essere disponibile quando provi ad interagire con gli elementi che contiene
    e questo puo' farlo solo rispondendo che "e' pronto"

    nel documento in popup
    codice:
    window.onload=function(){if(window.opener)window.opener.funzioneNellaPrincipaleDaEseguireACaricamentoCompletato();}

  8. #8
    Solo per ringraziarti, Xinod

    sei stato molto chiaro
    ha riportato la discussione alla sua domanda originaria
    e hai anche risposto/spiegato il come e il perché delle domande che mi erano sorte dopo...

    Saluti anche a tutti gli altri...

    O saisons, ô châteaux,
    Quelle âme est sans défauts?

    Rimbaud - L'Éternité (1872)

    EsseZeta - VisualWriting | www.essezeta.org

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.