Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema evento focus() con Firefox

    Ho creato uno script (dietro suggerimento) per verificare i tasti premuti ed eliminare i caratteri non ammessi durante la pressione dei tasti...lo script è questo...

    codice:
    function controllaCaratteri(elemento,formato){
        if (formato == 'text'){  
        	var pattern = /[^\w\s-%àèéìòù\x2F\x2E\x2C]+/ ; //per eliminare i caratteri non permessi
          elemento.value=elemento.value.replace(pattern,''); 
    			    
    		}else if (formato == 'number'){
    			var pattern = /[^\d\s\x2F\x2E]+/ ; //per eliminare i caratteri non permessi
          elemento.value=elemento.value.replace(pattern,'');
    					
    		}
    	 pattern = /\s{2,}/ ; //per trasfomare gli spazzi multipli in uno spazio solo
       elemento.value=elemento.value.replace(pattern,' ');
       elemento.id.focus();
    }
    codice:
    <input type="text" id="elemento" name="elemento" onkeyup="controllaCaratteri(this,'text')" value ="" />
    Il problema nasce nel momento in cui si scrive un testo più lungo del campo di input...nel momento in cui lo script esegue il focus() il campo di input non fa vedere cosa si scrive perchè ad ogni focus il campo di input visualizza il testo partendo dall'inizio del campo, non permettendo di vedere così cosa c'è scritto dopo la lunghezza massima del campo stesso.
    Il che, sembrerebbe che non si stia scrivendo nulla, ma in realtà continua a scrivere.
    Questo brutto effetto scompare in IE eliminando la funzione focus(), cosa però che non si risolve in Firefox.
    Ora ciò che mi chiedo è...esiste un modo per evitare questo bug anche dentro Firefox??? :master:

  2. #2
    questo mi deve far pensare che nn esiste soluzione?

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.