Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453

    Variabile numerica:problemino

    ciao a tutti.. ho fatto uno script che funziona in questo modo: ho due frecce, una verso l'alto e una verso il basso.. cliccando su quella verso l'alto richiamo una funzione che deve incrementare di uno il valore in un campo input, viceversa per l'altra deve decrescere... ecco lo script:

    <script>
    function select_value(azione){
    with (document.form){
    var valore = S1.value;
    if(azione == 'up'){
    S1.value = valore+1;
    }else{
    S1.value = valore-1;
    }
    }
    }
    </script>

    che richiamo con l'evento OnClick="select_value('up')" (o down) sulle immagini.

    Lo script funziona, ma non interpreta il contenuto del campo input come un numero, bensì come stringa.. quindi scrive un 1 ogni volta, ma non fa la somma come vorrei.. come risolvo?

    inoltre dovrei modificare lo script per far sì che decrementando non si possa andare sotto lo zero, e aumentando non si possa aumentare più di un tot definito in una variabile...

    potete aiutarmi? grazie!

  2. #2
    prova con questa funzione:

    codice:
    function upanddown(op){
     var c=document.nomeform.nomecampo;
     var v=parseInt(c.value);
     if(op=='up') v++;
     if(op=='down' && v>0) v--;
     c.value=v;
    }
    da usare cosi':

    codice:
    <input type="button" value="up" name="b1" onclick="upanddown(this.value);"/>
    ciao

  3. #3
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    uhm.. mi restituisce NaN :master:

    edit: con lo script che ho postato prima io la sottrazione funziona correttamente, mentre l'addizione no... come mai????

  4. #4
    Originariamente inviato da Kilin
    uhm.. mi restituisce NaN :master:
    prova con questa modifica:

    codice:
    function upanddown(op){
     var c=document.nomeform.nomecampo;
     var v=parseInt(c.value);
     if(isNaN(v)){alert('Inserire un valore numerico nel campo '+c.name+'.'); return;}
     if(op=='up') v++;
     if(op=='down' && v>0) v--;
     c.value=v;
    }

  5. #5
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    ora funziona! grazie mille!

  6. #6
    Originariamente inviato da Kilin
    ora funziona! grazie mille!
    enjoy the power of JavaScript!

  7. #7
    Utente di HTML.it L'avatar di Kilin
    Registrato dal
    Mar 2003
    Messaggi
    453
    lool

    sono molto niubbo con js, mentre me la cavo con php e affini... devo ammettere però che sto scoprendo la potenza di js, che si sta rivelando molto più utile e interessante di quanto credessi!

  8. #8
    Originariamente inviato da Kilin
    lool

    sono molto niubbo con js, mentre me la cavo con php e affini... devo ammettere però che sto scoprendo la potenza di js, che si sta rivelando molto più utile e interessante di quanto credessi!
    infatti: basti pensare che con un uso oculato di JavaScript puoi variare ogni singolo aspetto della pagina, con un semplice clic. per non parlare poi di nuove tematiche, AJAX su tutte.

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.