Reza a lenda que um desenvolvedor que preze pela usabilidade em suas aplicações deve se atentar aos detalhes. E muitas vezes um único detalhe aumenta consideravelmente a usabilidade geral da aplicação. Um bom exemplo deste fato é setar o foco no primeiro campo input do formulário da página.
Existe diversas formas de setar o foco no primeiro input de uma página, usando o prototype existe a função Form.focusFirstElement(), porém em algumas situações o primeiro input da página não é o input que você gostaria que fosse setado o foco, por exemplo, Suponha que sua aplicação possua um campo input que sempre aparece no topo de todas as página, usando a função anteriormente citada o foco sempre será setado para este campo, uma solução é implementar um função similar ao focusFirstElement, segue a função implementada usando prototype que faz isso.
Event.observe(window, 'load', function() { var campos = $$("input[type='text']"); if (campos.size() > 0){ if(campos[0].id == "idDoCampoDeBusca"){ campos[1].focus(); } else { campos[0].focus(); } } });
Por padrão o foco será setado no primeiro input exceto quando o id do campo[0] for o seu famigerado campo de busca, é isso ai e tenham todos uma boa pásco, eu vou em borra!
[]’s Anselmo Battisti
parabéns pelo post, bacana e funciona.