Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Test su campo numerico

  1. #1

    Test su campo numerico

    Ciao a tutti
    Ho creato questa funzioncina JAVASCRIPT per testare che il contenuto di un textbox sia numerico...

    function testa_number(campo){
    var n=campo;
    if (isNaN(n)) {
    alert("Inserire solo valori numerici");
    }
    }

    dentro a "campo" passo document.form.field.value (il mio campo) e faccio scattare tale script sull'evento onBlur del mio text field.

    Il problema è che sia che inseriscanel campo un valore numerico che no, l'alert compare comunque...

    HELP ME PLEASE!!!
    Walter
    ---------------------------------
    Piove... Governo Ladro!?!

  2. #2
    la funzione sembrerebbe corretta, posta il codice completo della tua pagina.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    667
    Prova questa funzioncina che ho scritto e fammi sapere se ti piace.


    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    <SCRIPT LANGUAGE="JavaScript">
    function soloNumeri() {
    var testoNumerico = document.Calcol.num1.value;
    if(isNaN(testoNumerico))
    {
    alert("Inserire solo valori numerici, grazie!");
    filtro=/^[\d\.]$/
    stringa='';
    lunghezza = document.Calcol.num1.value.length;
    //if(!(filtro.test(document.Calcol.num1.value))) alert('no');
    for(i=0;i<lunghezza;i++){
    if(filtro.test(testoNumerico.charAt(i))) stringa=stringa+testoNumerico.charAt(i)
    }

    document.Calcol.num1.value= stringa;
    }else {EseguiAddizione();
    }
    }

    function EseguiAddizione() {
    ImportoTotale = 0
    // ImportoTotale = document.Calcol.num1.value + document.Calcol.num2.value + document.Calcol.num3.value)
    var x =document.Calcol.num1.value/1.2
    var x2=document.Calcol.num1.value-x
    var tec=(document.Calcol.num1.value/100)*40
    document.Calcol.num2.value =(x.toFixed(2))
    document.Calcol.num3.value = (x2.toFixed(2))
    document.Calcol.tecnico.value = (tec.toFixed(2))
    }
    function Foc() {
    document.Calcol.num1.select()
    document.Calcol.num1.focus()
    }
    </script>

    </head>
    <body onLoad="Foc();soloNumeri()">
    <form name="Calcol">
    <p align="left">Tot
    <input type="text" name="num1" size="10" onKeyUp="soloNumeri()" value="100.00" style="text-align: Right; width: 80px; border: Solid 1px #000000; color: #000000; font: Bold 11px Verdana;">
    &euro;
    <p align="left">imp
    <input type="text" name="num2" size="10"
    onFocus="Foc()"value="0" style="text-align: Right; width: 80px; border: Solid 1px ##000000; color: ##000000; font: Bold 11px Verdana;">&euro;
    <p align="left">iva
    <input type="text" name="num3" size="10"
    onFocus="Foc()"value="0" style="text-align: Right; width: 80px; border: Solid 1px ##000000; color: ##000000; font: Bold 11px Verdana;">&euro;

    <p align="left">
    Tecnico:
    <input type="text" name="tecnico" size="17" readonly onFocus="Foc()" value="0" style="text-align: Right; width: 80px; border:Solid 1px ##000000; color: ##000000; font: Bold 11px Verdana;">&euro;
    </form>
    </body>
    </html>


    Ciao David

  4. #4
    Ecco come faccio a lanciarlo...

    <input name="txtCap" type="text" size="10" maxlength="5" onBlur="testa_number('frmScuole.txtcap.value')">

    ... lo so sembra incredibile anche a me, secondo me c'è qualcosa che non funziona nel passaggio del parametro.
    Walter
    ---------------------------------
    Piove... Governo Ladro!?!

  5. #5
    prova così:

    codice:
    <input name="txtCap" type="text" size="10" maxlength="5" onBlur="testa_number(this.value)">
    fammi sapere.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    667
    Scusa...ho messo troppo codice...a te servirebbe solamente questo


    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <SCRIPT LANGUAGE="JavaScript">
    function soloNumeri() {
    var testoNumerico = document.Calcol.num1.value;
    if(isNaN(testoNumerico))
    {
    alert("Inserire solo valori numerici, grazie!");
    filtro=/^[\d\.]$/
    stringa='';
    lunghezza = document.Calcol.num1.value.length;
    //if(!(filtro.test(document.Calcol.num1.value))) alert('no');
    for(i=0;i<lunghezza;i++){
    if(filtro.test(testoNumerico.charAt(i))) stringa=stringa+testoNumerico.charAt(i)
    }

    document.Calcol.num1.value= stringa;
    }
    }
    </script>
    </head>

    <body>
    <form name="Calcol">
    <input type="text" name="num1" size="10" onKeyUp="soloNumeri()" style="text-align: Right; width: 80px; border: Solid 1px #000000; color: #000000; font: Bold 11px Verdana;">
    </form>
    </body>
    </html>

  7. #7
    Sei veramente troppo caldo!!!

    Grazie un sacco, Walter
    Walter
    ---------------------------------
    Piove... Governo Ladro!?!

  8. #8
    Originariamente inviato da walter.boss
    Sei veramente troppo caldo!!!
    azz... :)
    quale soluzione hai utilizzato?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    667
    Abbiamo incasinato le cose...

    scusa Var...colpa mia che mi sono intromesso...


    :metallica

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 © 2024 vBulletin Solutions, Inc. All rights reserved.