Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Dust_79
    Registrato dal
    Mar 2001
    Messaggi
    696

    [javascript]Controllo campo

    Come faccio a controllare che un campo contenga un numero < 100?!?
    ho provato così ma non funziona...
    codice:
    <script language="JavaScript"> 
       
      function ControlloNum(campo) 
      { 
          If ((campo.value) > 100)
          {
          	alert("La percentuale non è valida");
          	campo.value=campo.value.substr(0, campo.value.length-3); 
          }
      } 
    </script>
    PAZZIA PAZZIA
    PORTAMI VIA!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La logica e` corretta, ma l'istruzione If non esiste (JS e` case sensitive).

    Inoltre lo script deve ritornare true o false, ed essere chiamato da:
    <form ... onsubmit="return NOMEFUNZ(this);">

    Quindi:

    function ControlloNum(ff)
    {
    var campo = ff.NOMECAMPO;
    if ((campo.value) > 100)
    {
    alert("La percentuale non è valida");
    campo.value=campo.value.substr(campo.value.length-3);
    return fase;
    }
    return true;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Dust_79
    Registrato dal
    Mar 2001
    Messaggi
    696
    Originariamente inviato da Mich_
    La logica e` corretta, ma l'istruzione If non esiste (JS e` case sensitive).

    Inoltre lo script deve ritornare true o false, ed essere chiamato da:
    <form ... onsubmit="return NOMEFUNZ(this);">

    Quindi:

    function ControlloNum(ff)
    {
    var campo = ff.NOMECAMPO;
    if ((campo.value) > 100)
    {
    alert("La percentuale non è valida");
    campo.value=campo.value.substr(campo.value.length-3);
    return fase;
    }
    return true;
    }
    Grazie!

    Posso fare una cosa del genere passandogli il nome del campo (visto che lo stesso controllo lo devo fare per 20 campi?)...
    PAZZIA PAZZIA
    PORTAMI VIA!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    No, con la chiamata della funzione dal tag form, la funzione viene chiamata una volta sola, quindi dovresti passare tutti i nomi in un colpo solo.

    A meno che non si tratti di tutti i campi del form oppure di tutti i campi di un certo tipo, nel qual caso si possono usare gli elementi che il browser si crea per la gestione.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di Dust_79
    Registrato dal
    Mar 2001
    Messaggi
    696

    Ho risolto così:

    codice:
     function ControlloNum(ff) 
      { 
          if (ff.value > 100) 
          {
          	alert("La percentuale non è valida");
          	campo.value=campo.value.substr(0, campo.value.length-3);       	
    		return false; 
          }
          return true; 
      } 
    
    <input type=text name=cat1 size="8" maxlength=3 onKeyUp="SoloNumeri(this)" onChange="ControlloNum(this.form.cat1);">
    <input type=text name=cat2 size="8" maxlength=3 onKeyUp="SoloNumeri(this)" onChange="ControlloNum(this.form.cat2);">
    pare che funzioni...
    PAZZIA PAZZIA
    PORTAMI VIA!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per correttezza (e completezza)

    <input type="text" name="cat1" size="8" maxlength="3" onkeyup="SoloNumeri(this)" onchange="ControlloNum(this);">

    Poi si potrebbe chiamare anche la funzione SoloNumeri() all'evento onchange, oppure mettere assieme le due funzioni.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.