Ciao a tutti, avrei bisogno urgentemente di un vostro prezioso aiuto.
Sto programmando un sito di abbigliamento con possibilità di ricamo sul tessuto, e vorrei che il prezzo di ogni singolo prodotto, possa aumentare di 5 euro, ad ogni lettera della tastiera digitata. Sono riuscito a fare ciò con javascript, grazie alla funzione keydown, il prezzo me lo aumenta, solo che ci sono 4 problemi, ecco il codice:
<!doctype html>
<html>
<head>
<script type="text/javascript">
var x=95.00;
function incrementa() {
document.getElementsByClassName('item_price')[0].innerHTML = ++x;
x=x+5.00;
}
function decrementa() {
document.getElementsByClassName('item_price')[0].innerHTML = --x;
x=x-5.00;
note.addEventListener('keydown', function(event) {
const key = event.key; // const {key} = event; ES6+
if (key === "Backspace") {
x=x-5.00;
}
});
}
function azzera() {
document.getElementsByClassName('item_price')[0].innerHTML = 95.00;
}
</script>
</head>
<body>
<br><br><font style="font-family:'medium'; font-size:12px; color:black;">5€ a lettera</font>
<input type="text" name="ricamo" onKeyDown="incrementa(x)" class="ricamo"> <br>
<span class="item_price" style="font-family:'bold'; color:#b17f4a; font-size:30px; position:absolute; top:22%; left:5%;">95</span>
</div>
</form>
</body>
</html>
1- La cifra aumenta premendo tutti i pulsanti della tastiera, invece io vorrei che aumentasse solo con lettere e numeri.
2- Con il pulsante BACKSPACE, il valore non diminuisce, ma aumenta, invece io vorrei che diminuisse.
3- Alla pressione del primo pulsante, aumenta solo di 1 e poi aumenta di 6, quindi non di 5 come vorrei, non capisco perchè.
4- Vorrei che cancellando completamente il testo, la cifra ritornasse al valore iniziale, quindi in questo caso a 95.
Detto questo, spero possiate aiutarmi, perchè sarebbe fondamentale per me, ho provato in tutti i modi senza successo .
Grazie