
Originariamente inviata da
m4rko80
Questo esempio bene o male dovrebbe far tutto, presumendo possa accetare solo lettere numeri.
codice:
<html>
<head>
<script>
var unit = 5;
var min = 0;
var currentValue;
var currentText;
window.onLoad = function(){
currentValue = document.getElementById('valore').value || 0;
currentText = document.getElementById('testo').value;
}
function calcola(event){
var key = event.which || event.keyCode;
var inp = String.fromCharCode(key);
if (/[a-zA-Z0-9]/.test(inp) || (key==8)){ //Tasti accettati : lettere e numeri
currentText = document.getElementById('testo').value;
console.log(key, document.getElementById('testo').value.length)
var newValue = document.getElementById('testo').value.length * 5;
document.getElementById('valore').value = newValue;
}else{
//caratteri non consentiti = reset testo
document.getElementById('testo').value = currentText;
}
</script>
</head>
<body>
Testo <input type="text" id="testo" value="" onKeyup="javascript:calcola(event);"/>
Valore <input type="text" id="valore" value="0">
</body>
</html>