Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di zuffff
    Registrato dal
    Sep 2004
    Messaggi
    40

    Piccolo problema.

    Stavo realizzando un semplicissimo convertitore lire/euro:
    nella funzione converti, controllo che i campi delle input text non siano entrambi vuoti e successivamente verifico che i campi contengano valori numerici; ma la typeof sembra non funzionare! Infatti qualsiasi cosa scriva risulta sempre essere un numero!
    Ecco la funzine:

    function converti(modulo)
    {

    errore="";
    ok=true;
    with(modulo)
    {
    lire.focus();
    if(lire.value.length==0 && euro.value.length==0)
    {
    errore="Campi non inseriti\n";
    ok=false;
    }
    if(ok)
    {
    if(lire.value.length>0)
    {
    a=parseInt(lire.value);
    if(typeof a=='number')
    {
    /* da sviluppare*/
    }
    else
    {
    errore+="Valore non numerico inserito nel campo lire!\n"
    ok=false;
    }
    }
    if(euro.value.length>0)
    {
    a=parseInt(euro.value);
    if(typeof a=='number')
    {
    /* da sviluppare*/
    }
    else
    {
    errore+="Valore non numerico inserito nel campo euro!\n"
    ok=false;
    }
    }
    }
    }
    if(!ok)
    alert(errore);
    }


    Infine vorrei sapere se c'è un modo per controllare carattere per carattere il contenuto di una input text considerando che la charAt non funziona!
    Grazie!
    La teoria è quando si sa tutto ma non funziona niente.
    La pratica è quando funziona tutto ma non si sa il perché.
    In ogni caso si finisce sempre con il coniugare la teoria con la pratica:
    non funziona niente e non si sa il perché.
    (Albert Einstein)

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fai un parseInt quindi la variabile di ritorno sarà sempre numerica.

  3. #3
    Utente di HTML.it L'avatar di zuffff
    Registrato dal
    Sep 2004
    Messaggi
    40
    E' giusto, ma se inserisci solo caratteri alfanumerici la parseInt ritorna NaN, cioè not a number. Questo è il problema.
    La teoria è quando si sa tutto ma non funziona niente.
    La pratica è quando funziona tutto ma non si sa il perché.
    In ogni caso si finisce sempre con il coniugare la teoria con la pratica:
    non funziona niente e non si sa il perché.
    (Albert Einstein)

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo.

    a = parseInt('dhhfhdh')
    alert (isNaN(a));

  5. #5
    Utente di HTML.it L'avatar di zuffff
    Registrato dal
    Sep 2004
    Messaggi
    40
    Non sembra funzionare
    La teoria è quando si sa tutto ma non funziona niente.
    La pratica è quando funziona tutto ma non si sa il perché.
    In ogni caso si finisce sempre con il coniugare la teoria con la pratica:
    non funziona niente e non si sa il perché.
    (Albert Einstein)

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    badaze ha ragione, ma l'errore e` questo:
    if(typeof a=='number')

    immagino volessi scrivere:
    if(typeOf(a) == 'number')

    Nota la sintassi di typeOf e la parentesi.

    PS attenzione ai titoli delle discussioni (vedi regolamento)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Mich_
    badaze ha ragione, ma l'errore e` questo:
    if(typeof a=='number')

    immagino volessi scrivere:
    if(typeof(a) == 'number')
    Stranamente typeof a=='number' funziona !!!

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da zuffff
    Non sembra funzionare
    Allora....

    codice:
    a = parseInt(pippo.value);
    if (isNaN(a)) {
     alert('valore non numerico');
    } else {
     alert('valore numerico');
    }

  9. #9
    Utente di HTML.it L'avatar di zuffff
    Registrato dal
    Sep 2004
    Messaggi
    40
    Grazie!
    La teoria è quando si sa tutto ma non funziona niente.
    La pratica è quando funziona tutto ma non si sa il perché.
    In ogni caso si finisce sempre con il coniugare la teoria con la pratica:
    non funziona niente e non si sa il perché.
    (Albert Einstein)

  10. #10
    Utente di HTML.it L'avatar di zuffff
    Registrato dal
    Sep 2004
    Messaggi
    40
    Chiedo scusa a badaze.
    Anzi se ci sei ancora, vorrei sapere se è possibile controllare carattere per carattere il contenuto di una input text.
    La teoria è quando si sa tutto ma non funziona niente.
    La pratica è quando funziona tutto ma non si sa il perché.
    In ogni caso si finisce sempre con il coniugare la teoria con la pratica:
    non funziona niente e non si sa il perché.
    (Albert Einstein)

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.