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

    problema con onclick e writedocument

    Ciao a tutti! premetto dicendo che ho iniziato a studiare html e javascript da pochi giorni, sto facendo qualche prova ma ho un problema con il seguente banalissimo codice:

    <html>
    <head>
    <script type="text/javascript">
    function prova(form) {
    document.write("ciao");
    }
    </script>
    </head>
    <body>
    <form>
    Stile del bordo:<input type="text" name="testo"/>
    Colore del testo:<input type="text" name="colore"/>
    <input type="button" name="bottone" onclick="prova(this.form);" value="PREMERE QUI"/>
    </form>
    </body>
    </html>

    Ho provato lo stesso codice su window con IE e non ho avuto problemi,io pero usa un Mac con Firefox. C'è qualcosa che posso cambiare per farlo funzionare anche li?
    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Benvenuto sul forum
    "problemi" e' un pochino generico per indagare...

    Comunque non si puo' usare document.write() in una pagina che ha completato il caricamento... come minimo riscrive tutto il contenuto della pagina annullando quanto conteneva precedentemente, compresi gli script.

    Inoltre non e' chiaro lo scopo dello script... e per finire non puoi usare come nome di variabile o parametro una parola riservata... e "form" lo e'.

    cerca anche "innerHTML" nel forum
    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

  3. #3
    Grazie per la risposta, ho cercato qualcosa sull' innerHTML, e ho modificato il codice in questo modo:

    <html>
    <head>
    <script type="text/javascript">
    function prova(form) {
    var elem = document.getElementById('premere');
    elem.innerHTML = 'p {';
    if (form.stile.value=="solido"){
    elem.innerHTML = 'border-style:solid;';
    }
    if (form.stile.value=="doppio"){
    elem.innerHTML = 'border-style:double;';
    }
    elem.innerHTML = 'border-color:'+form.colore.value+';';
    elem.innerHTML = '}';
    }
    </script>
    </head>
    <body>
    <form>
    Stile del bordo:<input type="text" name="stile"/>
    Colore del testo:<input type="text" name="colore"/>
    <input type="button" name="bottone" value="premere" onclick="prova(this.form)" />
    <div id='premere'></div>
    </form>
    </body>
    </html>

    rimane un problemagni volta che richiamo innerHTML vado a sovrascrivere quanto scritto in precedenza,come faccio ad "appendere" senza cancellare?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prima preparati la stringa, poi stampala...

    stringa = "Prova ";
    stringa += "a ";
    stringa += "concatenare ";
    stringa += "le ";
    stringa += "varie ";
    stringa += "porzioni ";
    elem.innerHTML = stringa;

    Ma stai cercando di scrivere una porzione di css dentro un div?
    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

  5. #5
    Volevo fare una prova molto banale: volevo semplicemente stampare una serie di stringhe in serie che devono essere stampate dopo aver cliccato un bottone. Non so se questo sia il metodo corretto per fare ciò. Suggerimenti? grazie 1000

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.