Esiste uno script che accetta in un campo "input" solo numeri? e se inserisco lettere caratteri speciali.. ecc...invia un allert e reimposta a 0?
Esiste uno script che accetta in un campo "input" solo numeri? e se inserisco lettere caratteri speciali.. ecc...invia un allert e reimposta a 0?
"numeri" e' un po' generico
intendi interi, solo interi positivi, doppi (e a quante cifre decimali?), virgola come separatore, punto come separatore... ?
Solo numeri è un campo update per prodotti.
ad esempio:
1
100
1000
da 0 a 1000 = 1,2,3,4,5,6,7,8 ecc
un esempio, sicuramente migliorabile
codice:<script type="text/javascript"> <!-- function soloInteri(campo){ var pattern=/^[0-9]{1,4}$/; var c=campo.value if(!c.match(pattern) || parseInt(c)>1000){ alert('valore non accettato!') campo.value=0; campo.focus(); } } //--> </script>ciaocodice:<form> <input type="text" name="numeri" onchange="soloInteri(this)" /> </body>
E' possibile, al posto di mettere a "0" cancellare soltato ciò che si è digitato e non è consentito? ed in più in fase di cancellazione mi genera 0. e possibile non considerare nel momento in cui si sta cancellando per inserire un nuovo dato?
Questo è ottimo, potremmo convertirlo a soli numeri? senza dover dichiarare le lettere e i simboli?
codice:<SCRIPT LANGUAGE="JavaScript"> function soloNumeri<%=c%>() { var testoNumerico = document.Calcol<%=c%>.nquantita.value; filtro=/[\[,\],+,.,a,b,c,d,e,f,g,h,i,ò,l,m,n,o,p,q,r,s,t,u,v,z,x,y,k,j,è,é,ç,ò,à,ù,^,ì,$,',@,>,_,:,;,§,°,<,ç,*,^,?,=,(,),\/,&,%,|,!,"]/ if(filtro.test(testoNumerico)) { alert("Questo carattere non è ammesso nella quantità prodotto."); stringa=''; lunghezza = document.Calcol<%=c%>.nquantita.value.length; for(i=0;i<lunghezza;i++){ if(!(filtro.test(testoNumerico.charAt(i)))) stringa=stringa+testoNumerico.charAt(i) } document.Calcol<%=c%>.nquantita.value= stringa; } } </script>