Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    51

    [js]vietato l'uso delle lettere in un campo ma..

    k.. ho trovato la soluzione all'altro problema.. altra domanda: come posso far si che ci siano solo numeri nel text tranne la slash? cioè che se digito una lettera mi scompare

  2. #2
    hai provato a effettuare una ricerca sul forum?
    l'argomento è stato trattato più volte.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    51
    sinceramente non ho trovato.. sarò io impedito?

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao _Micio_
    Ma hai trovato quello che cercavi per la data? Beh... ti faccio un esempio per data e solo numeri
    codice:
    <HTML>
    <head>
    <script language="javascript">
    function y2k(number) { 
    	return (number < 1000) ? number + 1900 : number; 
    }
    function dataValida(txt){
    	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
    	if(re.test(txt)){
    		var adata = txt.split('/');
    		var gg = parseInt(adata[0],10);
    		var mm = parseInt(adata[1],10);
    		var aaaa = parseInt(adata[2],10);
    		var xdata = new Date(aaaa,mm-1,gg)
    		if((y2k(xdata.getYear())==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    			return xdata
    		else return false
    	}else return false
    }
    
    function verData(tt){
    	if(dataValida(tt.value))alert('Data valida')
    	else alert('Data NON valida!')
    }
    </script>
    </head>
    <BODY>
    <form>
    data in formato gg/mm/aaaa<input type="text" name="data" onchange="verData(this)">
    
    Solo Numeri<input type="text" name="SoloNumeri" onkeyup="this.value=this.value.replace(/[^\d]/g,'');">
    </form>
    </BODY>
    </HTML>

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    51
    grazie mille, con l'esempio fatto qua sopra come assegno la stessa funzione a più campi? ed è possibile che una volta verificato che c'è un errore all interno del campo, me lo riporti allo stato originale?

    ma è possibile integrare le due funzioni in un solo campo però con la possibilità di scriverci almeno lo " / "?

    cioè sempre un campo input text, formato gg/mm/aaaa

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    non ho capito cosa ti serve :master:
    potresti spiegarmi dettagliatamente magari facendo esempi e scrivendo un po' di codice...

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    51
    ok.. mo te lo scrivo.. sto provando il codice ma mi va in 1 form su 10 non so perchè

    ti posto tutto il codice così come viene.. in una pagina nel quale non funge il codice

    codice:
    <%@ Language=VBScript %>
    <% Response.Expires=0 %>
    <html>
    <head>
    <meta NAME="GENERATOR" Content="Assistenza telefonica">
    <link rel="stylesheet" type="text/css" href="stile.css">
    	<title>Progetto Assistenza-ASL</title>
    </head>
    <script language="javascript">
    function y2k(number) { 
    		return (number < 1000) ? number + 1900 : number; 
    		}
    function dataValida(txt){
    		var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
    			if(re.test(txt)){
    				var adata = txt.split('/');
    				var gg = parseInt(adata[0],10);
    				var mm = parseInt(adata[1],10);
    				var aaaa = parseInt(adata[2],10);
    				var xdata = new Date(aaaa,mm-1,gg)
    					if((y2k(xdata.getYear())==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
    							return xdata
    			else return false
    			}
    					else return false
    					}
    function verData(tt){
    		if(dataValida(tt.value))alert('Data valida')
    		else alert('Data NON valida!')
    		}
    }
    </script>
    <body leftmargin="0" topmargin="10" marginwidth="0" marginheight="0">	
    <%
    Set conn=Server.CreateObject("ADODB.Connection")
    conn.CursorLocation=3
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\Progetto_ASL\db_asl.mdb"
    set ors = Server.CreateObject("ADODB.recordset")
    str="SELECT * FROM DISTRETTO"
    ors.Open str, conn
    %>	
    <form name="thisForm" method="post" target="_new" action="cerca_asstel.asp">
    <table class="form" border="0" cellpadding="1" cellspacing="1" align="center">
    	<tr>	
    	<td>Data da</td>
    		<td><input type="text" id="datada" name="datada" value="<%=Date()%>" onchange="verData(this)"></td>
    		<td>A</td>
    		<td><input type="text" id="dataa" name="dataa" value="<%=Date()%>" onchange="verData(this)"></td>
    		<td align="center"><input type="submit" value="Trova" id="button1" name="button1"></td>
    	</tr>		
    </table>
    </form>
    <html>
    ecc ecc

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Originariamente inviato da _Micio_
    ok.. mo te lo scrivo.. sto provando il codice ma mi va in 1 form su 10 non so perchè

    ti posto tutto il codice così come viene.. in una pagina nel quale non funge il codice

    codice:
    function verData(tt){
    		if(dataValida(tt.value))alert('Data valida')
    		else alert('Data NON valida!')
    		}
    }
    </script>
    ecc ecc
    hai messo una parentesi graffa chiusa in più... togli una delle ultime due

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Comunque nel tuo caso non conviene verificare all'onchage... sarebbe meglio controllare all'onsubmit del form

    aggiungi questa funzioncina
    codice:
    function Controlla(ff){
      var msg=''
      if(!dataValida(ff.datada.value))msg+='- Data Da NON valida!\n'
      if(!dataValida(ff.dataa.value))msg+='- Data A NON valida!\n'
      if(msg!=''){
        alert(msg)
        return false
      }return true
    }
    togli gli onchange dai campi text e nel form richiami il controllo così
    codice:
    <form onsubmit="return Controlla(this);"

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    51
    k tutto a posto.. che pirla che sono
    grazie mille sei stato gentilissimo

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.