Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Consentire all'utente il solo inserimento di alcuni valori

    Buongiorno a tutti

    Ho trovato sul web questo piccolo script che impedisce di inserire in alcune textbox che ho in un form, alcuni valori

    <script src="/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(function()
    {
    $("input.InputLimitato").bind("keyup blur", function()
    {
    var $field = $(this);
    $field.val($field.val().replace(/[^0-9]/g, ""));
    });
    });
    </script>

    ho modificato in parte lo script per adeguarlo alle mie esigenze in questo modo

    <script src="/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(function()
    {
    $("input.InputLimitato").bind("keyup blur", function()
    {
    var $field = $(this);
    $field.val($field.val().replace(/[^0-9RrSsAaPp\-]/g, ""));
    });
    });
    </script>

    Il problema che però ho è il seguente:
    Siccome le inputbox accettano al massimo 2 caratteri, dovrei inibire l'inserimento di alcune accoppiate tipo "ss" o "rr" o "Ss" o "Sr" o"--" ecc...

    Qualcuno può gentilmente aiutarmi o suggerirmi qualcosa di diverso?
    L'obiettivo è quello di consentire all'utente il solo inserimento di alcuni valori.

    Questo il codice della inputbox:
    <input name="s_9" type="text" id="s_9" value="-" size="4" maxlength="2" class="InputLimitato" />

  2. #2
    Ragazzi sono andato un po avanti ed ho realizzato questo:

    <script type="text/javascript">
    $(function()
    {
    $("input.InputLimitato").bind("keyup blur", function()
    {
    var $field = $(this);
    $field.val($field.val().replace(/[^0-9RrSsAaPp\-]/g, "-"));
    $("input.InputLimitato").focusout(function()
    {
    var $field = $(this);
    $field.val($field.val().replace("rr", "r"));
    $field.val($field.val().replace("ss", "s"));
    $field.val($field.val().replace("aa", "a"));
    $field.val($field.val().replace("pp", "p"));

    });
    });
    });
    </script>

    Purtroppo però non riesco a generalizzare la funzione.
    L'utente potrebbe inserire a2, a5, a9, p5, s2 e questo non deve essere possibile.

    potete aiutarmi?

  3. #3
    Ragazzi geniacci... mi date una mano a migliorare quanto ho scritto non essendo pratico di js?
    Sarà pure possibile realizzare una funzione generica!

    <script src="/reserved/gestione/risultati_partite/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    $(function()
    {
    $("input.InputLimitato").bind("keyup blur", function()
    {
    var $field = $(this);
    $field.val($field.val().replace(/[^0-9RrSsAaPp\-]/g, "-"));
    $("input.InputLimitato").focusout(function()
    {
    var $field = $(this);
    $field.val($field.val().replace("--", "-"));
    $field.val($field.val().replace("RR", "R"));
    $field.val($field.val().replace("SS", "S"));
    $field.val($field.val().replace("AA", "A"));
    $field.val($field.val().replace("PP", "P"));
    $field.val($field.val().replace("R-", "R"));
    $field.val($field.val().replace("-R", "R"));
    $field.val($field.val().replace("RS", "R"));
    $field.val($field.val().replace("RA", "R"));
    $field.val($field.val().replace("RP", "R"));
    $field.val($field.val().replace("S-", "S"));
    $field.val($field.val().replace("-S", "S"));
    $field.val($field.val().replace("SR", "S"));
    $field.val($field.val().replace("SA", "S"));
    $field.val($field.val().replace("SP", "S"));
    $field.val($field.val().replace("A-", "A"));
    $field.val($field.val().replace("-A", "A"));
    $field.val($field.val().replace("AR", "A"));
    $field.val($field.val().replace("AS", "A"));
    $field.val($field.val().replace("AP", "A"));
    $field.val($field.val().replace("P-", "P"));
    $field.val($field.val().replace("-P", "P"));
    $field.val($field.val().replace("PR", "P"));
    $field.val($field.val().replace("PS", "P"));
    $field.val($field.val().replace("PA", "P"));
    $field.val($field.val().replace("R0", "R"));
    $field.val($field.val().replace("R1", "R"));
    $field.val($field.val().replace("R2", "R"));
    $field.val($field.val().replace("R3", "R"));
    $field.val($field.val().replace("R4", "R"));
    $field.val($field.val().replace("R5", "R"));
    $field.val($field.val().replace("R6", "R"));
    $field.val($field.val().replace("R7", "R"));
    $field.val($field.val().replace("R8", "R"));
    $field.val($field.val().replace("R9", "R"));
    $field.val($field.val().replace("S0", "S"));
    $field.val($field.val().replace("S1", "S"));
    $field.val($field.val().replace("S2", "S"));
    $field.val($field.val().replace("S3", "S"));
    $field.val($field.val().replace("S4", "S"));
    $field.val($field.val().replace("S5", "S"));
    $field.val($field.val().replace("S6", "S"));
    $field.val($field.val().replace("S7", "S"));
    $field.val($field.val().replace("S8", "S"));
    $field.val($field.val().replace("S9", "S"));
    $field.val($field.val().replace("A0", "A"));
    $field.val($field.val().replace("A1", "A"));
    $field.val($field.val().replace("A2", "A"));
    $field.val($field.val().replace("A3", "A"));
    $field.val($field.val().replace("A4", "A"));
    $field.val($field.val().replace("A5", "A"));
    $field.val($field.val().replace("A6", "A"));
    $field.val($field.val().replace("A7", "A"));
    $field.val($field.val().replace("A8", "A"));
    $field.val($field.val().replace("A9", "A"));
    $field.val($field.val().replace("P0", "P"));
    $field.val($field.val().replace("P1", "P"));
    $field.val($field.val().replace("P2", "P"));
    $field.val($field.val().replace("P3", "P"));
    $field.val($field.val().replace("P4", "P"));
    $field.val($field.val().replace("P5", "P"));
    $field.val($field.val().replace("P6", "P"));
    $field.val($field.val().replace("P7", "P"));
    $field.val($field.val().replace("P8", "P"));
    $field.val($field.val().replace("P9", "P"));
    $field.val($field.val().replace("rr", "r"));
    $field.val($field.val().replace("ss", "s"));
    $field.val($field.val().replace("aa", "a"));
    $field.val($field.val().replace("pp", "p"));
    $field.val($field.val().replace("r-", "r"));
    $field.val($field.val().replace("-r", "r"));
    $field.val($field.val().replace("rs", "r"));
    $field.val($field.val().replace("ra", "r"));
    $field.val($field.val().replace("rp", "r"));
    $field.val($field.val().replace("s-", "s"));
    $field.val($field.val().replace("-s", "s"));
    $field.val($field.val().replace("sr", "s"));
    $field.val($field.val().replace("sa", "s"));
    $field.val($field.val().replace("sp", "s"));
    $field.val($field.val().replace("a-", "a"));
    $field.val($field.val().replace("-a", "a"));
    $field.val($field.val().replace("ar", "a"));
    $field.val($field.val().replace("as", "a"));
    $field.val($field.val().replace("ap", "a"));
    $field.val($field.val().replace("p-", "p"));
    $field.val($field.val().replace("-p", "p"));
    $field.val($field.val().replace("pr", "p"));
    $field.val($field.val().replace("ps", "p"));
    $field.val($field.val().replace("pa", "p"));
    $field.val($field.val().replace("r0", "r"));
    $field.val($field.val().replace("r1", "r"));
    $field.val($field.val().replace("r2", "r"));
    $field.val($field.val().replace("r3", "r"));
    $field.val($field.val().replace("r4", "r"));
    $field.val($field.val().replace("r5", "r"));
    $field.val($field.val().replace("r6", "r"));
    $field.val($field.val().replace("r7", "r"));
    $field.val($field.val().replace("r8", "r"));
    $field.val($field.val().replace("r9", "r"));
    $field.val($field.val().replace("s0", "s"));
    $field.val($field.val().replace("s1", "s"));
    $field.val($field.val().replace("s2", "s"));
    $field.val($field.val().replace("s3", "s"));
    $field.val($field.val().replace("s4", "s"));
    $field.val($field.val().replace("s5", "s"));
    $field.val($field.val().replace("s6", "s"));
    $field.val($field.val().replace("s7", "s"));
    $field.val($field.val().replace("s8", "s"));
    $field.val($field.val().replace("s9", "s"));
    $field.val($field.val().replace("a0", "a"));
    $field.val($field.val().replace("a1", "a"));
    $field.val($field.val().replace("a2", "a"));
    $field.val($field.val().replace("a3", "a"));
    $field.val($field.val().replace("a4", "a"));
    $field.val($field.val().replace("a5", "a"));
    $field.val($field.val().replace("a6", "a"));
    $field.val($field.val().replace("a7", "a"));
    $field.val($field.val().replace("a8", "a"));
    $field.val($field.val().replace("a9", "a"));
    $field.val($field.val().replace("p0", "p"));
    $field.val($field.val().replace("p1", "p"));
    $field.val($field.val().replace("p2", "p"));
    $field.val($field.val().replace("p3", "p"));
    $field.val($field.val().replace("p4", "p"));
    $field.val($field.val().replace("p5", "p"));
    $field.val($field.val().replace("p6", "p"));
    $field.val($field.val().replace("p7", "p"));
    $field.val($field.val().replace("p8", "p"));
    $field.val($field.val().replace("p9", "p"));
    });
    });
    });
    </script>

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Fidelio-565
    Ragazzi geniacci... mi date una mano a migliorare quanto ho scritto non essendo pratico di js?
    Sarà pure possibile realizzare una funzione generica!
    ... i criteri non sono chiari specificare tutte le casistiche di combinazioni permesse o quelle vietate
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Br1 grazie per l'attenzione alla mia richiesta di help.

    Allora l'obiettivo è questo:
    impedire all'utente l'inserimento di valori che non siano numerici (0-9) oppure il simbolo subtract (-) e backspace (per poter cancellare).

    La textbox può accettare al massimo numeri fino a due cifre.
    Non è accettato lo spazio (space).
    Non devono essere accettati valori negativi (del tipo -8) nel qual caso il numero 8 dovebbe sparire ed andrebbe considerato solo il simbolo -.

    Stavo provando a bloccare l'input con questo:
    <script type="text/javascript">
    jQuery(document).ready(function(){
    $(".InputLimitato").keypress(function(evt) {
    var charCode=(evt.which)?evt.which:event.keyCode;
    if (charCode>31 && (charCode<48 || charCode>57))
    return false;
    return true;
    });
    });
    </script>

    ma non so come fare per consentire l'accetttazione del tasto subtract che provando a cercare sul web pare che abbia charCode 109

    grazie in anticipo e spero di essere stato più chiaro

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Sicuramente sarà facile come bere un bicchier d'acqua. Se solo si capisse cosa vuoi fare...

    Spiega con calma e chiarezza.

    edit:

    P.S. Partiamo dal fatto ci sono solo due soli possibili inserimenti consentiti (campo.length === 2). Mi sembra di capire che le uniche lettere consentite siano /[rsap]/i giusto? Maiuscole o minuscole è indifferente? Possono essere seguite da un numero? Possono essere precedute da un numero? Ci possono essere altri caratteri (vedo un trattino)? Quali di preciso? Prima o dopo? Ci possono essere solo lettere senza numeri? Ci possono essere solo numeri senza lettere? Ci possono essere due caratteri uguali?

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Lo faccio senza jquery
    codice:
    <input type=text onchange="x(this)" onkeyup="x(this)" onblur="x(this)">
    <script>
    function x(obj) {
    v = obj.value;
    obj.value = v.replace(/[^\d^-]/gi,"").replace(/^-\d*/,"-").substr(0,2);
    }
    </script>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  8. #8
    Ciao Carlomarx

    Scusa ma non mi pare di aver scritto poi tanto in maniera incomprensibile.

    Scrivo l'obiettivo in altra forma:

    1. l'utente non deve poter inserire altri valori se non quelli numerici (0,1,2,3,4,5,6,7,8,9)
    2. gli è concesso l'uso del simbolo - (trattino centrale)
    3. gli è concesso l'uso del backspace (per poter cancellare)
    4. non gli è concello l'uso dello space (barra spaziatrice)

    Spero di essere stato + chiaro questa volta

    grazie
    e speriamo che sia proprio facile come bere un bicchier d'acqua

  9. #9
    Br1 SEI MAGICOOOOOOOO.

    Riscontro questi problemucci e non saprei come correggerli perchè non ci capisco nulla di js.

    Se digito -5 diventa - e va bene ma se digito 5- non accade nulla mentre dovrebbe restare solo il 5 (primo carattere)

  10. #10
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da Fidelio-565
    Scrivo l'obiettivo in altra forma:

    1. l'utente non deve poter inserire altri valori se non quelli numerici (0,1,2,3,4,5,6,7,8,9)
    2. gli è concesso l'uso del simbolo - (trattino centrale)
    3. gli è concesso l'uso del backspace (per poter cancellare)
    4. non gli è concello l'uso dello space (barra spaziatrice)
    Eh la madonna! E ci voleva tanto?? Bastava chiedere: voglio che l'utente possa usare solo numeri + trattino:

    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Example</title>
    <script type="text/javascript">
      function numbersOnly(oToCheckField, oKeyEvent) {
        return oKeyEvent.charCode === 0 || /[\d\-]/.test(String.fromCharCode(oKeyEvent.charCode));
      }
    </script>
    </head>
    
    <body>
    <form name="myForm">
    
    
    Enter numbers only: <input type="text" name="myInput" maxlength="2"
    onkeypress="return numbersOnly(this, event);" onpaste="return false;" /></p>
    </form>
    </body>
    </html>
    Originariamente inviato da Fidelio-565
    Scusa ma non mi pare di aver scritto poi tanto in maniera incomprensibile.
    Io invece ho il forte dubbio che non ti sei ancora spiegato bene e che dovremo mettere mano anche al codice che ti ho appena girato...

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.