Visualizzazione risultati 1 fino 11 di 11

Discussione: [js]Qualcuno mi da una mano?

  1. #1
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Question [js]Qualcuno mi da una mano?

    Salve ho un problemino con un semplice js
    Questo:
    Codice HTML:
    <form action="#" method="post">
    <div>
    <select name="s" onchange="Moltiplica(this,this.form.elements['t'],this.form.elements['r'])">
    <option value="">==>>Scegli il valore<<==</option>
    <option value="10">Valore 10</option>
    <option value="20">Valore 20</option>
    <option value="100">Valore 100</option>
    </select> 
    *
    <input type="text" name="t"/> 
    =
    <input type="text" name="r" readonly="readonly" />
    </form> 
    <script language="JavaScript" type="text/JavaScript">
    function Moltiplica(sender1,sender2,risultato) {
      //verifica valori non nulli
      var Val1=sender1.value;
      var Val2=sender2.value;
      if(Val1==""||Val2=="") {
       risultato.value="";
       return false;
      } 
      //valori non forniti
      //risultato arrotondato al terzo decimale
      var ris=Math.round(parseFloat(Val1)*parseFloat(Val2)*1000)/1000;
      //verifica parziale che sia numerico
      risultato.value=(isNaN(ris)?"":ris);
    } 
    //Moltiplica
    </script>
    Che cosa fa?

    Prende un volore predefinito di un campo select (A) e lo moltiplica per un valore che si trova in una text (B) e poi il risultato lo da in un altro campo text (C).

    Il problema è che lo script funziona si ma il calcolo la fa in automatico, io vorrei che il calcolo lo facesse dopo che si preme su un bottone....

    ecco come si fa? :?????:
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    prova a fare così:

    <form action="#" method="post">
    <div>
    <select name="s">
    <option value="">==>>Scegli il valore<<==</option>
    <option value="10">Valore 10</option>
    <option value="20">Valore 20</option>
    <option value="100">Valore 100</option>
    </select>
    *
    <input type="text" name="t"/>
    =
    <input type="text" name="r" readonly="readonly" />
    <input type="button" onclick="Moltiplica(this,this.form.elements['t'],this.form.elements['r'])">
    </form>
    <script language="JavaScript" type="text/JavaScript">
    function Moltiplica(sender1,sender2,risultato) {
    //verifica valori non nulli
    var Val1=sender1.value;
    var Val2=sender2.value;
    if(Val1==""||Val2=="") {
    risultato.value="";
    return false;
    }
    //valori non forniti
    //risultato arrotondato al terzo decimale
    var ris=Math.round(parseFloat(Val1)*parseFloat(Val2)*1 000)/1000;
    //verifica parziale che sia numerico
    risultato.value=(isNaN(ris)?"":ris);
    }
    //Moltiplica
    </script>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Predefinito

    nn funziona
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

  4. #4
    Guest

    Predefinito

    Metti quello che sta nell' onChange e lo metto all' onclick di un button.
    Però non puoi mettere this, ma devi mettere il nome del form e del campo select.


    Ciaooooooo!!!!!!!!!!!

  5. #5
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Question

    Citazione Originalmente inviato da debug
    Metti quello che sta nell' onChange e lo metto all' onclick di un button.
    Però non puoi mettere this, ma devi mettere il nome del form e del campo select.


    Ciaooooooo!!!!!!!!!!!

    così? :?????:

    Codice HTML:
    <input type="button" onChange="Moltiplica(s,this.form.elements['t'],this.form.elements['r'])">
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Allora prova così:

    <form action="#" method="post" name="nomeform">
    <div>
    <select name="s">
    <option value="">==>>Scegli il valore<<==</option>
    <option value="10">Valore 10</option>
    <option value="20">Valore 20</option>
    <option value="100">Valore 100</option>
    </select>
    *
    <input type="text" name="t"/>
    =
    <input type="text" name="r" readonly="readonly" />
    <input type="button" onclick="Moltiplica(nomeform.s.value,nomeform.t.va lue,nomeform.r.value">
    </form>
    <script language="JavaScript" type="text/JavaScript">
    function Moltiplica(sender1,sender2,risultato) {
    //verifica valori non nulli
    var Val1=sender1.value;
    var Val2=sender2.value;
    if(Val1==""||Val2=="") {
    risultato.value="";
    return false;
    }
    //valori non forniti
    //risultato arrotondato al terzo decimale
    var ris=Math.round(parseFloat(Val1)*parseFloat(Val2)*1 000)/1000;
    //verifica parziale che sia numerico
    risultato.value=(isNaN(ris)?"":ris);
    }
    //Moltiplica
    </script>
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Predefinito

    continua a nn andare
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    forse perché hai copiato l'ultimo script (di funcool) senza notare lo spazio di troppo in questa riga:
    <input type="button" onclick="Moltiplica(nomeform.s.value,nomeform.t.va lue,nomef orm.r.value">

    l'ultimo "nomef orm" va corretto (unito) in "nomeform", ovviamente.

    In ogni caso quando non funziona cerca di dirci il messaggio di errore; se usi solo Explorer molto probabilmente non sarà di alcuna utilità, ti consiglio di usare (e installare se non lo hai) un browser Mozilla, ha una console Javascript da paura ti dice esattamente dov'è l'errore con messaggi più che precisi e non quei DUE cacchio di messaggi di Explorer (utilissimi, qualcosa tipo: "Errore sconosciuto" o "Proprietà dell'oggetto non valida", che geni che sono!).
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Wink

    ok risolto grazie ha tutti :winkOLD:
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

  10. #10
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    "risolto" in altro modo o era quello il problema??

    (azz sempre questo "risolto" troppo vago )
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  11. #11
    r85
    r85 non è connesso Utente giovane
    Data registrazione
    18-02-2003
    Messaggi
    37

    Talking

    Citazione Originalmente inviato da heracleum
    "risolto" in altro modo o era quello il problema??

    (azz sempre questo "risolto" troppo vago )
    ho levato il bottoncino OLD
    Britney Spears

    Nel mio sito visitalo
    http://r85.altervista.org/

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •