Ir para conteúdo
Fórum Script Brasil
  • 0

[RESOLVIDO] como fazer um input text digitar só maiusculas?


m_axx

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

Olá m_axx

É bem simples, no flash existe isso como uam opção mas podemso fazer uma varredura :)

No flash AS2 temos um evento de text fields chamado 'onChanged' que ele executa sempre que algo for digitado, apagado etc.. tudo o que for modificado no campode texto, assim sendo, temos que precisamos subistituir tudo o que é digitado no txt por um string 'upperCase' :)

Segue exemplo:

var Txt:TextField = _root.meuInput;

Txt.onChanged = function(){
Txt.text = Txt.text.toUpperCase();
}

Declaro meu campo de texto input que já se encontra no palco instanciado como 'meuInput';

Depois adiciono uma função ao seu evento 'onChanged' e nessa função declaro que seu conteudo 'Txt.text' será igual ao seu mesmo conteúdo todo para maiúsculas 'Txt.text.toUpperCase();'

Simples ?

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

é isso mesmo cara...valeu...ajudou muito...=D..

agora só mais um probleminha...tenoh um campo q só pode ter numeros só q só colocando embed d numeros não funciona..ele continua permitindo digitar letras...você sabe como resolver??

Link para o comentário
Compartilhar em outros sites

  • 0

Olá maxx

Bom, não estou com saco de vasculhar o flash sobre tratamento de numeros e mascaras de campos de texto;

Nesses exacto momento eu resolveria com:

var txt:TextField = _root.txt;
var texto:String;

txt.onChanged = function(){
texto = txt.text.charAt(txt.text.length-1);
if (texto == 1 || texto == 2 || texto == 3 || texto == 4 || texto == 5 || texto == 6 || texto == 7 || texto == 8 || texto == 9 || texto == 0 ){
txt.text = txt.text.slice(0,txt.text.length-1);
}

}
considerando que você tem um capo de texto input chamado 'txt' no seu palco; simples porém rústico, essa verificação é um quebra galho :) Imagino que normalmente eu usaria uma array contendo tudo o que deve ser verificado e mandaria ele verificar essas posições dela por um loop, exemplo:
var Eu:Array = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 0);
var texto:String;
var Mytxt:TextField = _root.txt;

Mytxt.onChanged = function() {

    texto = Mytxt.text.charAt(Mytxt.text.length-1);

    for (var i:Number = 0; i<Eu.length; i++) {

        if (texto == Eu[i]) {

            Mytxt.text = Mytxt.text.slice(0, Mytxt.text.length-1);

        }

    }
};

não sei se vai funcionar nem testei mas eu faria algo do tipo, talvez usando mais variáveis para pegar o length do texto etc... mas esse seria o meu jeito :)

Boa sorte ^_^

Abraços

Pooh

*OBS no meu exemplo eu elimineios numeros, sejamos espertos ao invés de colocar todas as letras do alfabeto troque o meu '==' da verificação 'texto == Eu' por 'texto != Eu' assim só será permitido o que estiver dentro da nossa Array ^_^

Boa sorte e espero ter ajudado amigo

Abraços

Ursinho

Link para o comentário
Compartilhar em outros sites

  • 0

ehh...entendi...

vo faze isso mesmo cara...valeu!!

eu tinha pensado em algo parecido...+ achei q tinha um jeito mais pratico do q ficar verificando substring...

+ valeu cara!!

___________________________________________________________________

então...achei um outro jeiot mais pratico pra essa dos numeros...

my_txt.restrict = "0-9";

pre kem kiser ai...=D

Editado por m_axx
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...