Visualizzazione dei risultati da 1 a 8 su 8

Discussione: tastierino numerico

  1. #1

    tastierino numerico

    salve,
    ho bisogno di un tastierino numerico fatto con javascript che sostituisca la tastiera per l'inserimento dei numeri nei vari input text.
    ho trovato questo script carino: http://www.criric.it/public/javascri...o_numerico.php

    Come potete notare simula una calcolatrice che quindi ha un solo input text.
    A me invece serve che ogni volta che mi sposto in un altro input text debba funzionare comunque.
    e in più vorrei aggiungere 2 altri 2 bottoni che mi facciano "tab avanti" e "tab indietro" per spostarmi da un input all'altro.


    Vi chiederete come mai mi serve una cosa del genere? Perché quello che stò facendo deve essere gestito da un touch

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non simula una calcolatrice perché manca di tutti calcoli, simula un tastierino numerico e come il 90% dei casi i tasti premuti vanno in campo text, comunque nulla ti vieta di modificarlo (la parte js e veramente minimal) ma dovendo funzionare su touch forse ti conviene svilupparlo con jquery.mobile
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    sinceramente questo mi va benissimo bisogna solo aggiungere un paio di cose:
    1. vorrei che funzionasse su più inputbox mentre questo funziona solo su uno perché ha l'id è fisso e non dinamico
    2. mi servirebbero altri 2 tasti, uno che faccia la funzione del tasto "tab" e l'altro che faccia la funzione di "shift + tab"; quindi avanti di un inputbox e indietro di un inputbox


    purtroppo sono nuovo di javascript e non so proprio dove mettere mani

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da DUMAX Visualizza il messaggio
    sinceramente questo mi va benissimo bisogna solo aggiungere un paio di cose:
    1. vorrei che funzionasse su più inputbox mentre questo funziona solo su uno perché ha l'id è fisso e non dinamico
    E' la parte più facile dipende quante inputbox e la logica di funzionamento complessità/difficoltà da 1/10 tra il 5/6
    2. mi servirebbero altri 2 tasti, uno che faccia la funzione del tasto "tab" e l'altro che faccia la funzione di "shift + tab"; quindi avanti di un inputbox e indietro di un inputbox
    Se deve navigare nelle inputbox è fattibile simulare i tasti è molto più difficile e sono soggetti al device in uso (un conto è usare un tablet con sistema window/android un altro è usare ipad) complessità/difficoltà da 1/10 nel primo caso 5/6 il secondo 8/9

    purtroppo sono nuovo di javascript e non so proprio dove mettere mani
    Questo è un grosso problema, mi affiderei ad un professionista, il forum in questi casi può fare poco considerando che il tutto dovrà girare in abbiente touch
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    allora, invece dello stato attivo dell'inputbox (che pensandoci su potrebbe essere impossibile visto che lo stato attivo dovrebbe cambiare ogni volta che effettuo un click) ho pensato di inserire tanti radio button quanti sono gli inputbox.
    Il radio button mi determinerà in quale inputbox andare a scrivere usando delle semplici if.

    codice:
    function inserisci(numero) {        
       if (document.getElementById('radio1').checked) {
         
         var valore = document.getElementById('inputbox1').value;                                                                                
           document.getElementById('inputbox1').value = valore + numero;
      }
      if (document.getElementById('radio2').checked) {
         
         var valore = document.getElementById('inputbox2').value;                                                                                
           document.getElementById('inputbox2').value = valore + numero;
      }
      if (document.getElementById('radio3').checked) {
         
         var valore = document.getElementById('inputbox3').value;                                                                                
           document.getElementById('inputbox3').value = valore + numero;
      }
        
    }
    Lo so che non è il massimo ma è l'unico escamotage che mi è venuto in mente al momento.

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se funziona
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Potresti tenere memoria del focus, con qualcosa del genere:
    codice:
    inputs = [
        "idInput1",
        "idInput2"
        // ...
    ];
    selezionato = 0;
    for (i = 0; i < inputs.length; i++) {
        document.getElementById(inputs[i]).addEventListener("focus", function () {
            selezionato = inputs.indexOf(this.id);
        }
    }
    I tasti avanti e indietro:
    codice:
    document.getElementById("avanti").addEventListener("click", function () {
        selezionato = selezionato < inputs.lengtht ? selezionato + 1 : 0; 
    });
    
    document.getElementById("aindietro").addEventListener("click", function () {
        selezionato = selezionato > 0 ? selezionato - 1 : inputs.length - 1
    });
    E poi la funzione inserisci
    codice:
    document.getElementById(inputs[selezionato]).innerHTML+= numero;
    (Ho scritto dal cellulare, perdonami se ci sono errori, comunque questa è la mia idea)
    Ultima modifica di tampertools; 10-06-2014 a 12:45
    No

  8. #8
    grazie per l'aiuto ma per come l'ho pensata adesso i tasti avanti e indietro non mi servono più.
    Però magari concettualmente mi potrebbe servire per altro :-)

    grazie.

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.