Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Controllo direttamente sul campo del form

    Ciao.

    E' possibile prevedere su un campo del tipo:

    codice:
    <input type="text" name="CLIENTI" size="20">
    Un controllo che permetta solo l'inserimento di numeri interi?

    Il controllo dovrebbe essere previsto direttamente sul campo CLIENTI e non utilizzando funzioni da richiamare con l'evento onSubmit all'invio del form.

    Questo perchè ho dei valori richiamati con un ciclo Do while...Loop il cui nome campo è uguale per tutti e cioè:

    codice:
    <form method="POST" action="test.htm">
    
    do while not rs.eof
    
      <input type="text" name="CLIENTI_BT" value="& rs CLIENTI &" size="20">
    
    rs.movenext
    Loop
    
    </form>

    Grazie!
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    Ciao,
    certo che è possibile,
    devi implementare una funzione Javascript da abbinare all'evento onkeyup del campo:


    <input type="text" name="CLIENTI" size="20" onkeyup="manageText(this);">

    La funzione riceve il campo stesso e attraverso la proprietà value accedi al testo scritto:
    testi se è un numero e fai quello che vuoi.ù


    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Ti ringrazio; scrivo così ma il controllo non funziona:
    codice:
        <script language="javascript">
    <!--
     
    
    function convalidaForm(Qform) 
    {
    
      for (var a = 0; a < Qform.elements.length; a++) 
    	{
    	var campo = Qform.elements[a];
    
          	if (campo.value.length <= 0) 
    		{
            	window.alert('Il campo "'+ campo.name +'"\nè un campo obbligatorio in questo form.');
            	campo.focus();
            	return false;
          		}
          		    
          		    }
          		    
        if (!Qform.CLIENTI.value.match(/^\d+$/))
        
        {
          alert("Il campo \"\CLIENTI\"\ accetta solo valori numerici interi.");
          Qform.CLIENTI.focus();
          Qform.CLIENTI.select();
          return(false);
        }
        
    //tutto OK 
    return(true);
    
    }
    // -->
    </script>
    
    <form method="POST" action="test.htm"  onsubmit="return(convalidaForm(this));">
    
    do while not rs.eof
    
      <input type="text" name="CLIENTI" value="& rs CLIENTI &" size="20" onkeyup="convalidaForm(this);">
    
    rs.movenext
    Loop
    
    </form>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    Innanzitutto aggiungi un id univoco all'input:

    codice:
    <input type="text" id="mioinput" />
    A logica, devi associare una funzione di validazione all'evento onkeydown, a cui passerai l'id dell'input:

    codice:
    <input type="text" id="mioinput" onkeydown="IsNumeric(this.id)" />
    E poi scrivere una funzione, che a logica deve fare qualcosa di simile (funzione trovata su internet e adatatta, non l'ho provata probabilmente c'è qualcosa da aggiustare ma a grandi linee la logica è questa)

    codice:
            function IsNumeric(id)
    
            {
               var ValidChars = "0123456789";
               var IsNumber=true;
               var Char;
               var sText = document.getElementById(id).value;
    
               for (i = 0; i < sText.length && IsNumber == true; i++) 
                  { 
                  Char = sText.charAt(i); 
                  if (ValidChars.indexOf(Char) == -1) 
                     {
                     IsNumber = false;
                     }
                  }
               return IsNumber;
               
            }
    Ciao

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.