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

    [JavaScript]Risultato di una funzione in una form in una pagina html

    Ciao a tutti!è da pochi giorni che ho iniziato ad usare JavaScript. Ma guardando in giro non ho trovato la risposta a quello che cerco. Qui di seguito vi metto il codice di un programma che calcola la potenza di un numero inserito dall'utente. Solo che nel programma che ho scritto il risultato me lo mette aprendo una finestra perchè nella funzione ho usato alert, ma vorrei che il risultato venga visualizzato in una form del tipo <INPUT TYPE="text" SIZE="10" NAME="risultato"> come si fa?cosa devo cambiare nella funzione?spero di essere stata chiara. Grazie in anticipo a chi sa rispondermi.

    <!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
    <HTML LANG="it">
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html">
    <TITLE>Elevamento a potenza di valori positivi interi</TITLE>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">


    <!--
    function exp (x, y)
    {
    var z = 1;
    var i;
    //
    for (i = 1; i <= y; i++)
    {
    z = z * x;
    }
    return z;
    }
    //
    function esegui ()
    {
    var x = parseInt (document.modulo.x.value);
    var y = parseInt (document.modulo.y.value);
    var z;
    var risultato = "";
    z = exp (x, y);
    //
    risultato = risultato
    + x
    + "^"
    + y
    + "="
    + z;
    alert (risultato);
    }
    //-->
    </SCRIPT>
    </HEAD>
    <BODY>
    <H1>Elevamento a potenza di valori positivi interi</H1>

    <TABLE bgColor=#eae2d4 border=1 cellPadding=5 cellSpacing=1>
    <TBODY>
    <FORM NAME="modulo" METHOD="get" ACTION="">
    <TR>
    <TD> <INPUT TYPE="TEXT" SIZE="10" NAME="x"> </TD>
    <TD> <SUP><INPUT TYPE="TEXT" SIZE="2" NAME="y"></SUP> </TD>
    <TD> <INPUT TYPE="button" VALUE=" esegui " onClick="esegui()"> </TD>
    </TR>
    </FORM>
    </TBODY>
    </TABLE>
    </BODY>
    </HTML>

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    in javascript per fare la potenza di x alla y basta fare Math.pow(x, y)

    dunque potresti fare semplicemente

    function esegui ()
    {
    var x = parseInt (document.modulo.x.value);
    var y = parseInt (document.modulo.y.value);
    var risultato = Math.pow(x, y);
    document.modulo.risultato.value = risultato;
    }

  3. #3
    grazie mille hai ragione!ma il problema mi rimane perché il risultato poi vorrei visualizzarlo in una form?

  4. #4
    Grazie mille!Ho risolto il mio problema alla grande!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    usare un form per fare quello che cerchi non serve. Quello che ti ho scritto visualizza il risultato in un input type text con nome risultato, che tu dovresti aggiungere all'interno del form. Inoltre qualunque pulsante all'interno del form ne causa il submit onclick, dunque all'interno di esegui, come ultima istruzione dovresti aggiungere return false;


    codice:
    function esegui ()
    {
    var x = parseInt (document.modulo.x.value);
    var y = parseInt (document.modulo.y.value);
    var risultato = Math.pow(x, y);
    document.modulo.risultato.value = risultato;
    return false;
    }
    
        .
        .
        .
    
    <FORM NAME="modulo" METHOD="get" ACTION="">
    <TR>
    <TD> <INPUT TYPE="TEXT" SIZE="10" NAME="x"> </TD> 
    <TD> <SUP><INPUT TYPE="TEXT" SIZE="2" NAME="y"></SUP> </TD>
    <TD> <INPUT TYPE="TEXT" SIZE="2" NAME="risultato"> </TD>  
    <TD> <INPUT TYPE="button" VALUE=" esegui " onClick="esegui()"> </TD>
    </TR>
    </FORM>
    Ti consiglio di usare i nomi dei tag e degli attributi in minuscolo e di chiudere gli input usando la sintassi:
    <input type='text' ... />

  6. #6
    Grazie dei tuoi consigli, ho capito molto di più. Ora devo fare anche un calcolatore di seno e coseno e del logaritmo anche se di quest'ultimo non l'ho trovato in math da calcolare con qualsiasi base. Ora guardo bene nelle varie guide. Grazie mille!

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    seno e coseno sono rispettivamente Math.sin(), Math.cos()

    Per il logaritmo c'è log che è a base prefissata, ma il problema si può aggirare con un pò di matematica di base

    function mylog(val, base){
    return Math.log(val) / Math.log(base);
    }

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.