Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: controllare numeri

  1. #1

    controllare numeri

    function controllaNumeri() {

    if(document.InputForm.prezzoTesto.match(/^[0-9 ]+$/)) {
    alert("Il campo prezzo può contenere solo numeri ");
    document.InputForm.prezzoTesto.focus();
    return false;
    }
    }
    __________________________________________________ __________________
    onKeyPress="return controllaNumeri()"
    __________________________________________________ __________________
    Perché non mi funge....!!!
    Errore (proprietà o metodo non supportato dall'oggetto)
    Chi mi può aiutare???
    devo controllare che siano inseriti numeri e basta.
    Ciao grazie

  2. #2
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    una possibile soluzione è fare:

    codice:
     
     var n=new Number(document.InputForm.prezzoTesto);
     if(new String(n)!="NaN")
             alert("error");

  3. #3

    Ciao..

    Non capisco il tu script non da segno di vita...
    intendo non succede nulla.
    Ho provato questa soluzione:
    __________________________________________________ ___________
    function controllaNumeri() {

    var n=new Number(document.InputForm.prezzoTesto.value);
    if(new String(n)!="NaN") {
    alert("Il campo prezzo deve contenere solo numeri");
    return false;
    }
    }
    __________________________________________________ ___________
    Funziona; ma sia che scrivo un numero sia un carattere mi fa uscire l'alert... che mi dici?

  4. #4
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    a cavoli! ho sbagliato a scrivere!!! Sorry!!! Dovrebbe essere così:

    function controllaNumeri() {

    var n=new Number(document.InputForm.prezzoTesto.value);
    if(new String(n)=="NaN") {
    alert("Il campo prezzo deve contenere solo numeri");
    return false;
    }
    return true;
    }

    non è != ma ==. NaN sta per Not a Number

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188

    Re: controllare numeri

    Originariamente inviato da Fancy75
    function controllaNumeri() {

    if(document.InputForm.prezzoTesto.match(/^[0-9 ]+$/)) {
    Non puoi applicarae il metodo match ad un oggetto di un form: lo devi applicare ad una stringa, ad esempio il value dello stesso oggetto:
    if(document.InputForm.prezzoTesto.value.match(/^[0-9 ]+$/)) { ..

    (sempre che il campo sia di tipo text o che comunque supporti il value in questo modo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6

    Per chiarire

    Lo script funziona a bomba!!! grazie Mods
    codice:
    function controllaNumeri() {
      
      var n=new Number(document.InputForm.prezzoTesto.value);
    	if(new String(n)=="NaN") {
              alert("Il campo prezzo deve contenere solo numeri");
              document.InputForm.prezzoTesto.value="";
              document.InputForm.prezzoTesto.focus(); 
              return false;
            }
          return true;
       }
    <input name="prezzoTesto" type="text" id="prezzoTesto" size="12" maxlength="6" onKeyUp="return controllaNumeri()">
    Nella imput va inserito onKeyUp
    __________________________________________________ _______________
    Ancora grazie... alla prossima

  7. #7
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    di niente, alla prox

  8. #8

    Haia....!!

    Ohi là Mods... o riscontrato un'anomalia.
    quando inserisco caratteri anche punti funge.
    ma quando inserisco un prezzo tipo 1.000 ecc...
    quel punto lo ignora sistematicamente...
    Ho provato a inserire or .
    codice:
    if(new String(n)=="NaN" | String(n)== "." )
    ma niente
    Che fare?

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    ma perche` non torni alla formulazione originale con le regexp, come ti avevo consigliato?

    E` una tecnica molto piu` pulita e potente.

    La regexp in tal caso diventa:
    /^[0-9]+\.?[0-9]*$/

    PS l'OR che devi usare e` l'OR logico ( || ), non l'OR bit-a-bit ( | )!!!!
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10

    regexp

    codice:
    function controllaNumeri() { 
    
    if(document.InputForm.prezzoTesto.value.match(/^[0-9]+\.?[0-9]*$/ )) { 
    alert("Il campo prezzo può contenere solo numeri ");
    document.InputForm.prezzoTesto.value==""; 
    document.InputForm.prezzoTesto.focus(); 
    return false; 
    } 
    
    }
    Non va si comporta in modo strano... fa il contrari di quello che deve fare
    ??
    Fancy

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.