Visualizzazione dei risultati da 1 a 5 su 5

Discussione: dom

  1. #1

    dom

    ... da qualche giorno sono alle prese con uno javascript che credevo fosse molto semplice ma che non riesco a far funzionare come dovrebbe ...

    ... questo script calcola l'area di un quadrato, ma non riesco a scrivere con un document.write() il risultato nella stessa schermata (..document???) del form che contiene il valore del lato ...

    ... help!!!, help!!!, help!!!


    <html>
    <head>

    <script type="text/javascript">
    function calcolo()
    {
    document.write("area quadrato = "+(document.dati.lato.value)*(document.dati.lato.v alue));
    }
    </script>

    </head>

    <body>
    <h1>calcolo area quadrato</h1>


    <form name="dati">
    <label>lato quadrato... <input type="text" name="lato" size="5"></label>


    <input type="button" name="calcola" value="calcola" onclick="calcolo()">


    <input type="reset" value="nuovo">
    </form>
    <script type="text/javascript">
    document.dati.lato.focus();
    </script>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non puoi usare il document.write a pagina già caricata
    altrimenti sovrascrivi il contenuto del documento

    devi usare l' innerHTML x scrivere in un elemento già presente nella pagina (in genere un div)
    dal momento che la ricerca è stata riattivata ti invito a farne uso
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non puoi usare document.write() su una pag gia` chiusa.

    In qualche browser non funziona, in altri cancella completamente la pagina.

    Prova ad usare alert():

    alert("area quadrato = "+(document.dati.lato.value)*(document.dati.lato.v alue));

    In realta` questo non sarebbe corretto e non in tutti i browser funziona.
    il value di un campo e` una stringa, ceh nonha senso quindi moltiplicare.
    codice:
    function calcolo() {
      var laton = parseFloat(document.dati.lato.value);
      alert("area quadrato = "+ laton * laton);
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    GRAZIE!!!

    p.s. ... una soluzione w3c???

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La soluzione che ti ho dato per ultima, unita al tuo codice e` perfettamente compatibile con lo standard HTML4.
    Per XHTML andrebbero modificati alcuni tag HTML e spostato lo script fuori dalla pagina.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.