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

    sostituire forzatamente carattere alla pressione del tasto con firefox

    if (charCode==46) {//no ie

    if(evt.charCode) {
    //alert (9990);
    return (evt.charCode=42);
    }
    else {//sì ie
    //alert (9991);
    return (evt.keyCode=42);
    }
    }
    con questo codice riesco a sostituire il carattere con IE ma non riesco a farlo con firefox

    qualcuno sa dirmi come si può fare?

    grazie anticipatamente per la cortese risposta

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    49
    anch'io avevo notato questa cosa funzionante solamente su IE.

    Se sul keyup provi a fare un controllo sull'ultimo carattere inserito, se è quello che non desideri, lo sostituisci con quello che desideri, modificando il value del textbox.

  3. #3
    Quote Originariamente inviata da widoz83 Visualizza il messaggio
    anch'io avevo notato questa cosa funzionante solamente su IE.

    Se sul keyup provi a fare un controllo sull'ultimo carattere inserito, se è quello che non desideri, lo sostituisci con quello che desideri, modificando il value del textbox.
    anzitutto grazie per la risposta

    si certo è proprio come dici tu, ma con questo codice come si fa?

    teoricamente dovrebbe esserci un codice che funzioni anche con firefox...

    spero mi risponda qualcun'altro

    buona giornat

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    49
    in attesa di capire se esiste la possibilità di fare la stessa cosa anche su FF, il workaround di cui parlavo era qualcosa del genere:

    codice:
    $('#idTextbox').keyup(function(){
         textValue = $(this).val()
         textLength = textValue.length;
         lastChar = textValue.substr(textLength-1,textLength);
         if(lastChar=='.')
              $(this).val(textValue.substr(0,textLength-1) + ",");
     });

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    49
    se poi in questo textbox permetti di fare il copia e incolla, allora magari ti servirà implementare un ulteriore controllo anche sull'onblur del textbox stesso.

  6. #6
    Quote Originariamente inviata da widoz83 Visualizza il messaggio
    in attesa di capire se esiste la possibilità di fare la stessa cosa anche su FF, il workaround di cui parlavo era qualcosa del genere:

    codice:
    $('#idTextbox').keyup(function(){
         textValue = $(this).val()
         textLength = textValue.length;
         lastChar = textValue.substr(textLength-1,textLength);
         if(lastChar=='.')
              $(this).val(textValue.substr(0,textLength-1) + ",");
     });
    grazie per il codice, ma in realtà il mio codice è estratto da uno più ampio questo:

    codice:
    function solo_numeri(evt, flag_virgola,numero_europeo)
    {
    // flag virgola true prevede l'inserimento di numeri decimali
    // numero europeo se true controlla che venga inserita la virgola se false permette di inserire il punto
    flag_virgola=typeof flag_virgola=='undefined'?false:flag_virgola;
    numero_europeo=typeof numero_europeo=='undefined'?true:numero_europeo;
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
    //alert (flag_virgola);
      if (flag_virgola==false){//solo numeri interi
        if (charCode> 31 && (charCode < 48 || charCode> 57)) {
        //alert("Puoi inserire solo numeri!");
        return false;
        }
      }
      if (flag_virgola==true){//solo numeri interi e virgola
      //carattere 44 è la virgola, il 46 è il punto
      char_virgola=numero_europeo==true?44:46;
      
      //alert (evt.charCode);
      
      if (charCode==46) {//no ie
    
        if(evt.charCode) {
          return (evt.charCode=42);
        }
          else {//sì ie
          return (evt.keyCode=42);
          }
      }
        if (charCode> 31 && charCode!=char_virgola && (charCode < 48 || charCode> 57)) {    
        //alert("Puoi inserire solo numeri decimali!");
        return false;
        }
      }
    return true;
    }
    che non fa riferimento ad uno specifico campo e nemmeno a jquery per cui preferirei evitare tutto ciò

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    49
    su quale evento la chiami la funzione solo_numeri?

  8. #8
    Quote Originariamente inviata da widoz83 Visualizza il messaggio
    su quale evento la chiami la funzione solo_numeri?
    <input onkeypress="return solo_numeri(event,true);" type="text" name="indice" id="indice" size="7" maxlength="5"/>

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se si tratta di verificare che in un input siano digitati solo numeri (virgola e/o punto) penso sia meglio una regular exp cosi al posto di verificare che tasto si è premuto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Se si tratta di verificare che in un input siano digitati solo numeri (virgola e/o punto) penso sia meglio una regular exp cosi al posto di verificare che tasto si è premuto
    anzitutto grazie per la risposta

    non volevo riscrivere tutta la funzione e poi la sostizione diretta permette di inserire solo i valori senza cancellare nulla

    mi pare di capire che comunque non ci sia un codice che funzioni per firefox
    Ultima modifica di mansportivo; 18-10-2013 a 11:46

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