Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    20

    Aumento prezzo alla pressione dei pulsanti della tastiera (solo numeri e lettere)

    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

  2. #2
    Ciao robfori, benvenuto sul forum.

    Ti invito a leggere il regolamento della sezione Javascript, con particolare attenzione a quanto riportato in merito al tag [code] ed al cross-posting (aprire nuove discussioni per lo stesso quesito).

    Grazie per la collaborazione e buon proseguimento.

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.