Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de Javascript
SEÇÕES
Manuais relacionados
+Workshop de Javascript
Categorias
+Javascript
+Scripts em Javascript

Índice do Manual Workshop de Javascript
+ Efeitos rápidos com Javascript
+ Abertura e configuração de popups com Javascript
+ Acessso por senha Javascript
+ Rollover com Javascript
+ Navegador dinâmico Javascript
+ Navegador desdobrável
+ Navegador desdobrável com frames
+ Texto em movimento na barra de estado
+ Marcar ou desmarcar todos os checkboxes de um formulário com Javascript
+ Desabilitar o menu contextual do navegador com Javascript
+ Relógio em Javascript
+ Scripts diferentes para cada navegador
+ Tamanho dos campos relativo ao navegador
+ Estilos diferentes para cada navegador
+ Tabela de cores com Javascript
+ Sub-menu em outra janela
+ Degradê de cor Javascript
+ Validar inteiro no campo de formulário
+ Exemplos de funcionamento da classe String
+ Exemplo de funcionamento de Date
+ Link aleatório Javascript
+ Geração de números aleatórios Javascript
+ Comprovar se as senhas são iguais
+ Ex. de trabalho com formulários. Calculadora simples
+ Enviar ao navegador a outra página se não tiver Javascript
+ Confirmação de envio de formulário
+ Javascript para se posicionar em um select
+ Inibir um campo texto de formulário com Javascript
+ Camadas com Internet Explorer 5, 6, Netscape 6, 7 e Opera
+ Mostrar e ocultar camadas com IE 5,6 NS 6,7
+ Movimento de Camadas com IE 5,6 NS 6,7
+ Escritura nas Camadas com IE 5, 6, NS 6, 7
+ Como iluminar tabelas, células ou filas
+ Inibir radio button com Javascript
+ Atualizar dois frames com um só link
+ Calcular a idade em Javascript
+ Iluminar formulários com CSS e Javascript
+ Autozoom de texto com Javascript
+ Javascript para evitar que a página se mostre em um frame
+ Elementos de formulário select associados
+ Conta os caracteres escritos em um textarea
+ Passo de parâmetros em HTML com client-side Javascript
+ Moldura dinâmica em Javascript com texto que muda
+ Criação de gráficos de barras com Javascript
+ Jogos em Javascript
+ Cross-Browser. DHTML compatível com todos os navegadores.
+ HTML Area. Editor WYSIWYG
+ Ocultar um e-mail de um link para evitar o spam
+ Função em Javascript para a inserção de datas
+ DHTML Calendar
+ Gerar uma cor aleatória com Javascript
+ A aprendizagem na Internet
+ Menu Dinâmico com Javascript
+ Página que muda aleatoriamente a cor de fundo
+ Script de recarregamento da página com Javascript
+ Mudar a cor às células de uma tabela com Javascript
+ Pop-ups DHTML – OpenPopups
+ Validar a extensão de um arquivo a subir com Javascript
+ Detectar a resolução da tela do usuário com Javascript
+ Esconder a URL de um link na barra de estado
+ Como integrar conteúdo RSS em minha página?
+ Fazer com que um iframe se ajuste à altura de uma janela com Javascript
+ É vantajoso o uso de ParseInt para validar números?
+ Efeito para desabilitar/habilitar o fundo da Página
+ Validar número de checkbox marcados com Javascript
+ Evitar que um textarea supere um número de caracteres permitidos
+ Javascript não intrusivo
+ Controle de introdução de caracteres de um campo de texto com Javascript
+ Listagem de diferentes Framework Javascript
+ Script para detecção de suporte a Ajax, Cookies e ActiveX
+ Leitor RSS com Javascript
+ Funções para validação alfanumérica de strings em Javascript
+ Script para informar da segurança de uma senha, com Javascript

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Javascript para se posicionar em um select

Script em Javascript para se posicionar mediante o clique de teclas do teclado dentro dos elementos de um campo select de formulário.


Trata-se de um script para se posicionar em um elemento de um select, ou seja, para conseguir que, clicando umas teclas do teclado que poderiam corresponder com as primeiras letras de um elemento do select, o elemento selecionado do tal select seja aquele que corresponda com as letras pulsadas.

É uma descrição um pouco longa, mas na verdade o efeito é simples. Nos select das páginas web, ao clicar uma tecla, o select se move ao primeiro elemento que tem como inicial essa tecla. Entretanto, se há muitos elementos no select, o usuário pode achar que essa ajuda fica um pouco curta, já que teria que, logo clicar a inicial do elemento buscado, repassar todos os elementos que começam por essa letra até encontrar o que busca. O presente exemplo melhora essa função de busca nos select, já que permite realizar o clique de várias teclas seguidas e vai mostrando aquele elemento que começa por todas as letras que vão sendo clicadas (uma atrás da outra) até que se aperta a tecla Enter, momento no qual se supõe que encontramos o elemento adequado e queremos continuar com o preenchimento de outros campos do formulário.

Neste exemplo foi criado um select com os nomes de diferentes países. Se, por exemplo, queremos buscar o país Estados Unidos, nos selects normais podemos clicar a E (inicial de Estados Unidos) e buscar entre todos os países até que aparece o que queremos. Porém, com a implementação deste script poderemos clicar a E, com o que se posicionará no primeiro país que comece por E (que não tem porque ser o que buscamos, na prática será Equador). Logo, podemos clicar a letra S, com o qual se mostrará Espanha, que não é o que buscamos. Mais tarde clicaria-se a T, aparecendo Estônia e, por último, ao clicar a tecla A, já apareceria o elemento que buscávamos, ESTAdos Unidos.

O script

O script encontra-se comentado dentro do próprio código, para que possa ser compreendido facilmente, ou pelo menos suas bases. Basicamente, utiliza-se o evento de teclado onKeyPress no elemento select dos países, de modo que, quando se clique uma tecla, se tivermos o foco no select, se chamará a uma função que se encarregará de fazer o trabalho mais duro.

Tal trabalho consiste em pegar a tecla que foi clicada e salva-la em uma estrutura de dados, ademais de selecionar o elemento mais próximo ao valor atual da estrutura de dados. Por último, clica-se a tecla enter, deixa-se o select com o último valor selecionado e passa-se o foco ao seguinte elemento do formulário para que o usuário continua preenchendo-o.

<script language="JavaScript1.2">
var digitos=10 //quantidade de digitos buscados
var ponteiro=0
var buffer=new Array(digitos) //declaração do array Buffer
var cadeia=""

function buscar_op(obj,objfoco){
   var letra = String.fromCharCode(event.keyCode)
   if(ponteiro >= digitos){
       cadeia="";
       ponteiro=0;
    }
   //se se pressiona a tecla ENTER, apago o array de teclas pressionadas e salto a outro objeto...
   if (event.keyCode == 13){
       apagar_buffer();
       if(objfoco!=0) objfoco.focus(); //evita foco a outro objeto se objfoco=0
    }
   //senao busco a cadeia teclada dentro do combo...
   else{
       buffer[ponteiro]=letra;
       //salvo na posicao ponteiro a letra teclada
       cadeia=cadeia+buffer[ponteiro]; //armo uma cadeia com os dados que vao ingressando ao array
       ponteiro++;

       //barro todas as opcoes que contem o combo e comparo a cadeia...
       for (var opcombo=0;opcombo < obj.length;opcombo++){
          if(obj[opcombo].text.substr(0,ponteiro).toLowerCase()==cadeia.toLowerCase()){
          obj.selectedIndex=opcombo;
          }
       }
    }
   event.returnValue = false; //invalida a acao de clique de tecla para evitar busca do primeiro caractere
}

function apagar_buffer(){
   //inicia a cadeia buscada
    cadeia="";
    ponteiro=0;
}
</script>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="544" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="89" height="29"></td>
<td width="114"></td>
<td width="26"></td>
<td width="315"></td>
</tr>
<tr>
<td height="19"></td>
<td valign="top">
<select name="combo1" onKeypress=buscar_op(this,text2) onblur=borrar_buffer() onclick=borrar_buffer()>
    <option>Argentina</option>
    <option>Australia</option>
    <option>Bolivia</option>
    <option>Brasil</option>
    <option>Canada</option>
    <option>Colombia</option>
    <option>Dinamarca</option>
    <option>Estados Unidos</option>
    <option>Estonia</option>
    <option>Austria</option>
    <option>Bulgaria</option>
    <option>Chile</option>
    <option>Espanha</option>
    <option>China</option>
    <option>Costa Rica</option>
    <option>Croacia</option>
    <option>Equador</option>
</select>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td height="18"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="28"></td>
<td colspan="2" valign="top">
<input type="text" name="text2">
</td>
<td></td>
</tr>
<tr>
<td height="58"></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>


Esperamos que vocês possam entender o script e utiliza-lo em suas páginas web.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de Javascript

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Javascript
+ Entrar em Scripts em Javascript


Comentário sem rever
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
 Foram econtrados 6 comentários sem rever

VerVer os comentários não revistos



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites