Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 44
  1. #1

    visualizzare testo in pagina html tramite file esterno

    Salve a tutti!

    Ho un problema di poco conto, spero di non essere stato ripetitivo, ma ho cercato nel forum e non ho trovato nulla che assomigliasse alla mia richiesta.

    Il mio problema è questo:
    voglio inserire del testo nella mia pagina fatta in html, e fin qui nulla di strano. Però vorrei inserirlo tramite un file esterno(.js), perchè è un paragrafo che vorrei ritornasse in tutte le pagine che creerò. Ho provato con document.write('miotesto'), ma non funziona.

    Quello che vi chiedo è: Esiste la possibilità di richiamare il testo tramite una funzione? Oppure sarebbe uno spreco perchè si può fare con un semplice richiamo come document.write?

    -Da Marco- grazie

    PS: Se ho scritto in modo poco chiaro o qualcosa di cui è stato già discusso, mi scuso sin da ora.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In fase di apertura della pagina, il document.write va bene.

    Ti posto un esempio:

    file JS esterno:
    codice:
    var miotesto = "Nel mezzo del cammin di nostra vita ";
    miotesto += "mi ritrovai per una selva oscura ...";
    ...
    
    document.write("
    
    "+miotesto+"</p>");
    ...
    Nel punto dove vuoi inserire il testo (quindi dentro il body) inserisci:
    codice:
    ....
    <script type="text/javascript src="NOMEFILE.js"> </script>
    ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Tutto a posto. Mille grazie.

    Solo una domanda:

    tu mi hai scritto che posso inserire il riferimento esterno anche nel "body", questo è sempre possibile oppure è una eccezione? Te lo chiedo perchè di solito il riferimento lo inserisco nella "head" della pagina e quandi ho penso che nel modo che uso di solito "spreco" righe; cioè nel modo che uso io metto nel body il tag <div> e dentro questo ci inserisco il tag:

    <script type="text/javascript">
    document.write(paragrafo1)
    </script>

    Dici che faccio prima ad inserire direttamente il riferimento al file esterno? E se posso, lo posso fare per tutti gli altri tipi di riferimento?

    Spero di essere stato abbastanza chiaro nella domanda.

    grazie ancora

    ciao!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Un JS che usa document.write() VA inserito nel body.

    Pero` a me non piace inserire tutto un codice lungo nel body (spezza la pagina), per cui se la cosa e` lunga preferisco mettere il codice in una funzione della head e poi richiamarla nel body.
    Ma se il codice e` in un file esterno e quindi ti basta il richiamo, non ha senso mettere il richiamo di un richiamo.

    Ma, ripeto, questa e` solo una questione di stile di programmazione. I computer non apprezzano queste sottigliezze.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Grazie per la delucidazione.
    Se non ti dispiace avrei altre domande....

    1)Ho creato un form:
    <form name="tdice" action="...." method="post">
    <TR><TD><H5>FORZA</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); { this.value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><H5>INTELLIGENZA</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); {
    this.value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><H5>SAGGEZZA</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); { this.
    value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><H5>DESTREZZA</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); { this.
    value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><H5>COSTITUZIONE</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); {
    this.value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><H5>CARISMA</H5><INPUT type="TEXT" value="" maxlength="3" size="15" name="text" onFocus="(this.disabled); { this.
    value = saveValue; setTimeout('document.tdice.text.blur()',1); } "></td></tr>
    <TR><TD><button onClick="return tiradado()">LanciaDado</button></td></tr>
    </form>

    come si può vedere, ho messo un bottone che al click del mouse fa partire questa funzione:

    function tiradado(){
    var min=6
    var max=18
    var n=(Math.floor(Math.random()*(max-min+1)+min));
    if("n">=9)("n"<=12);{alert(n);}
    return;
    if("n">=13);("n"<=15);{alert("n"+"più 1");}
    return;
    if("n">=16);("n"<=17);{alert("n"+"più 2");}
    return;
    if("n"=18){alert("n"+"più 3");}
    return;
    }

    Il problema è che mi appaiono solo i numeri(da 6 a 18), mentre la parte più 1, più 2, più 3, non viene visualizzata. Dove sbaglio?

    2)sempre riferito al form e alla funzione sovrastante. Vorrei far apparire il risultato della funzione nei campi di testo, possibilmente, facendo in modo che la parola "più" sia sostituita da "+" e che una volta apparsi i numeri, questi non possano essere modificati. Per fare quest'ultima cosa ho inserito la stringa:

    onFocus="(this.disabled); { this.value = saveValue; setTimeout('document.tdice.text.blur()',1); } "

    va bene? Se no, come posso fare?

    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Una cosa alla volta.

    Gli if del tuo script sono sbagliati.

    if("n">=9)("n"<=12);{alert(n);}

    una stringa non puoi confrontarla con un numero.
    Inoltre le due parentesi non possono stare avvicinate cosi`.

    Forse volevi scrivere:
    if(n>=9 && n<=12){
    alert(n);
    return;
    } else if ( ...
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7

    non funziona

    Si, credo che fosse questo che intendevo, ma non funziona ancora...

    ho il debug di explorer attivo e mi dice che ho un errore di sintassi nella riga 7 carattere 2; credo si riferisca alla funzione:

    2 function tiradado(){
    3 var min=3
    4 var max=18
    5 var n=(Math.floor(Math.random()*(max-min+1)+min));
    6 if(n>=9 && n<=12);{alert(n);return;
    7 }else if(n>=13 && n<=15);{alert(n+"+"+"1");return;
    8 }else if(n>=16 && n<=17);{alert(n+"+"+"2");return;
    9 }else if(n=18);{alert(n+"+"+"3")}
    10 return;
    }

    giusto? Come posso fare?

    grazie ancora per il tempo che mi concedi.

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    C'e' un ; di troppo (anche nella linea precedente e successive)

    7 }else if(n>=13 && n<=15);{alert(n+"+"+"1");return;

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9

    non funziona ancora

    grazie br_1. ho provato a togliere il ; ma non ha sortito effetti. Mi da sempre errore nella riga 7 e carattere 3.

    Se osservi la riga, puoi notare l'errore nello spazio prima dell'ELSE IF, infatti prima me lo dava in riga 7 e carattere 2, mentre ora ho inserito lo spazio. Come mai? Non dovrebbe esserci lo spazio?

    grazie per la pazienza.

  10. #10

    ???

    Non c'è nessuno che sappia rispondere alle mie richieste?

    br1? Mich? vi siete dimenticati di me?

    yuhuuuuuu.....

    Potrei anche chiedere a qualcun altro, ma visto che voi mi avete risposto per primi pensavo avremmo continuato...

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.