Ir para conteúdo


Foto

Posicionar no final de String em Textfield


  • Por favor, faça o login para responder
1 resposta neste tópico

#1 thiago189

thiago189

    Iniciante

  • Membros
  • Pip
  • 8 posts

Postado 12 January 2012 - 15:12

Olá pessoal, tudo bem?

Alguém sabe me informar como posso posicionar o cursor do textfield no final da string que estiver nele?

Aqui no meu programa, o Textfield possui uma width menor que o tamanho da palavra. Quando a palavra ultrapassa ele, ela continua a ser escrita normal, mas fica voltando para o ínicio do textfield depois de escrito.

Percebi que isto ocorre ao ser utilizado setValue() no fim do keyup. Segue código:

var txtNumeroASerConv = {
        xtype: 'textfield', //numberfield textfield
        name: 'NumeroASerConv',
        width: 150,
        id: 'SeqEntrada',
        maxlength: alteraValorMaxLength(25),
        enableKeyEvents: true,
        listeners: {
            keyup: function(form, e){
            
                var contadorMaior = 0;
                var contadorMenor = 0;
                var caracter = '';
                var palavra = Ext.getCmp('SeqEntrada').getValue();
                palavraAux = "";
                for (var i = 0; i < palavra.length; i++) {
                    caracter = palavra.charAt(i);
                    
                    if (caracter == '<') {
                        contadorMaior += 1;
                    }
                    if (caracter == '>') {
                        contadorMenor += 1;
                    }

                    if (numeroReal(caracter)) {
                        palavraAux += caracter;
                    }
                    if (TeclaPermtida(caracter)) {
                        if (containChave(caracter, palavra, contadorMaior, contadorMenor, 'SeqEntrada')) {
                            palavraAux += caracter;
                        }
                    }					                    
                }
				
				Ext.getCmp('SeqEntrada').setValue(palavraAux);
				validaExpInvalida('SeqEntrada');
				// Kely: Valida se n\u00E3o est\u00E1 tentando inserir uma express\u00E3o inv\u00E1lida
				//var auxTexto = new String(Ext.getCmp('SeqEntrada').getValue());
				//var mudou = false;
				
            },

Alguém saberia me ajudar?

#2 Legolas

Legolas

    Ext JS - Admin

  • Administrators
  • 3497 posts
  • LocationBelo Horizonte

Postado 16 January 2012 - 22:17

thiago189, tente utilizar o método "selectText" da Classe Ext.form.TextField. Exemplo:
// Resgatando o campo
var campo = simple.getForm().findField('campo');

// Resgatando o valor do campo
var value = campo.getRawValue();

// Informando a seleção do campo
campo.selectText(value.length);
Espero que lhe ajude

"A verdadeira vitória não é derrotar alguém forte... É ser capaz de proteger alguém que você ama de verdade!" (Maito Dai)





0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos