Jump to content


Photo

Selection.setfocus


  • Faça o login para participar
4 replies to this topic

#1 [FeNriS]

[FeNriS]

    j u s t . a . c u b e

  • Usuários
  • 364 posts
  • Sexo:Não informado
  • Localidade:Bauru-SP

Posted 18/06/2004, 08:40

Olá

estou com um problema esquisito, e não sei aonde posso estar errando.

eu tenho um formulário com 3 campos, e precisava que assim que um atingisse seu limite de caracteres, o cursos pulasse para o próximo.

no primeiro frame da animação, sdetei o primeiro campo a ser selecionado:

Selection.setFocus(campo1);

Criei um movieclip chamado listener, e coloquei as seguintes ações:

onClipEvent(enterFrame) {
	if (_root.campo1.length == 2) {
  Selection.setFocus(_root.campo2);
	}
}

ok, assim que o campo1 atinge o máximo (2) ele pula o cursor pro campo2, porém quando eu vou digitar um caractere no campo2, ele seleciona o campo todo e só me permite digitar um caracter, e também não deixa eu selecionar o campo seguinte com o mouse, apesar de eu não querer que o usuário tenha esse trabalho, ou seja, eu precio que todos os campos funcionem normalmente.

Bom, olhando o "Reference" do Flash eu vi que ele conta o TAB "\t" como um caracter, pode ser isso? se for, como evitar? aumentar o maxchars do campo não adianta.
porque?
"Quem pensa pouco, erra muito." - DaVinci

"Toda experiência é válida!" - Henrique Behr

#2 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 18/06/2004, 08:58

deixa eu ver se entendi...

olha esta ocorrendo erro pelo seguinte. sempre quando o campo1 estiver preenchido ele ira por o foco no inicio do campo2.

o certo seria que isso ocorrece uma vez somente...

tente algo como

a = 1;
onClipEvent(enterFrame) {
if (_root.campo1.length == 2 and a==1) {
 Selection.setFocus(_root.campo2);
 a=0;
}
}
entendeu?

eu nao sei se o que queria era isso, se nao for explique mais claramente...


abraços...
www.andrewsmedina.com.br

#3 [FeNriS]

[FeNriS]

    j u s t . a . c u b e

  • Usuários
  • 364 posts
  • Sexo:Não informado
  • Localidade:Bauru-SP

Posted 18/06/2004, 09:17

ok, resolveu :)

q erro xxxxxx, às vezes eu esqueço como funciona o EntreFrame
"Quem pensa pouco, erra muito." - DaVinci

"Toda experiência é válida!" - Henrique Behr

#4 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 18/06/2004, 11:30

fenris,

é assim mesmo cara...

muitas pessoas têm dificuldade de entender que o EnterFrame nao para de se processar até que voce delete ele...

qualquer problema que tiver com flash é ´so gritar...
www.andrewsmedina.com.br

#5 Troyan

Troyan

    12 Horas

  • Usuários
  • 285 posts
  • Sexo:Não informado
  • Localidade:Mesquita, Rio de Janeiro - Brasil
  • Interesses:Sou programador ASP, PHP, Javascript e ActionScript, além de ser curioso em JSP, ColdFusion e XSL. Trabalho com XML, XHTML, adoro webstandards e a W3C. Também trabalho com tableless e RIA's.<br><br> Formas de contato:<br> Email: dnunes[at]gmail[dot]com<br> ICQ: 68102402<br> MSN: troyandev@hotmail.com<br><br> -------------------------------------<br> - Rio de Janeiro, Brazil<br> - Troyan

Posted 18/06/2004, 13:31

onClipEvent(enterFrame) {
if (_root.campo1.length == 2 and a==1) {
Selection.setFocus(_root.campo2);
a=0;
}
}

Um código + correto e que não gasta recursos à toa:

this.onEnterFrame=function() {
  if (root.campo1.length == 2) { Selection.setFocus(_root.campo2); }
  thie.onEnterFrame=null; delete this.onEnterFrame;
}

[]s
~~ ~
diego nunes
web engineer

~ ~~




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq