Roteiro 13 - André Moraes [email protected]

Transcrição

Roteiro 13 - André Moraes [email protected]
Desenvolvimento de Sites com PHP e Mysql
Docente – André Luiz Silva de Moraes
Roteiro 13: javaScript – geração de conteúdo HTML / Agrupamento de Elementos 1
Objetivos
•
Gerar marcação HTML com document.write;
•
Acessar conteúdos de elementos com a propriedade innerHTML;
•
Acessar elementos da página com getElementsByTagName();
•
Acessar elementos da página com getElementsByName();
Introdução
Neste roteiro serão explorados comandos para realizar a geração de conteúdo HTML, inserção de conteúdo em
elementos já existentes, através de javaScript Também serão explorados métodos para realizar a seleção de vários elementos
simultaneamente com uso da função getElementsByTagName(). Estes comandos são importantes para dinamizar o controle
sobre os elementos da página e possibilitarão criar ferramentas que possam interagir mais com o usuário.
Gerando marcação HTML com document.writeln
O javaScript oferece uma forma de inserir Strings HTML diretamente com o comando document.writeln(), que recebe como
argumento apenas o texto a ser inserido no formato HTML. O texto inserido pode ser formatado em formato de TAGS da mesma
forma como se estivéssemos digitando no <body> da página. a vantagem de utilizar o comando é a produção dinâmica de
conteúdo, a figura 51 ilustra um exemplo de uso do comando:
Figura 51: Exemplo de uso de document.writeln
Resultado:
Alteração de marcação com innerHTML
Além da geração de marcação pelo javaScript, é possível também alterar o conteúdo de elementos já existentes na página
através da propriedade innerHTML. A propriedade permite que seja alterado, acrescentado ou recuperado o conteúdo de
elementos HTML, ela pode por exemplo, preencher o conteúdo de texto de uma caixa de texto ou ainda inserir um conteúdo
qualquer dentro de uma div existente na página.
Exemplo de uso de innerHTML para alterar o conteúdo de um elemento HTML
Instituto Federal de Santa Catarina- Campus Garopaba
Pág | 60
Desenvolvimento de Sites com PHP e Mysql
Docente – André Luiz Silva de Moraes
OBSERVAÇÃO: Praticamente qualquer elemento HTML pode ter o seu conteúdo alterado. O método innerHTML também é muito
utilizado para exibir informações de avisos ao usuário utilizando DIV's que servem como contêiner de informações.
Agrupamentos de Elementos
Quando é necessário alterar um elemento em uma página é comum o uso da funcionalidade proposta com o método
document.getElementById(“idElemento”).propriedade, porém quando é necessário aplicar alguma funcionalidade ou
recuperar o valor de vários elementos simultaneamente é necessário fazer uso de métodos que permitam tal ação. A seguir são
ilustrados alguns métodos capazes de controlar vários elementos ao mesmo tempo:
Métodos para agrupamento de elementos
Comando
Significado
document.getElementsByTagName(“ ”)
Retorna um array contendo os elementos
encontrados referentes a uma tag HTML.
O array retornado obedece a ordem em
que os elementos aparecem na página.
Document.getElementsByName("")
Exemplo de utilização
var radios =
Retorna um array contendo os elementos document.getElementsByName('equipam
referentes a um determinado name HTML entos');
OBSERVAÇÃO: Para manipular vários elementos ao mesmo tempo e realizar operações de cálculo, por exemplo, será
necessário utilizar os comandos para repetição como for e while. A seguir um exemplo ilustrando o uso desta funcionalidade com
getElementsByTagName e getElementsByName:
Exemplo de uso de getElementsByTagName para checkBox:
var todasCheck = document.getElementsByTagName('input');
for(i=0;i< todasCheck.length;i++){
if(todasCheck [i].type == 'checkbox'){
todasCheck [i].onclick = funcaoQualquer;
}
}
Atenção: Para capturar valores de checkbox pode-se utilizar o método getElementsByTagName utilizando-se o teste com a
propriedade type para delimitar os elementos a serem pesquisados verificando se os mesmos são do tipo checkbox. Para
calcular valores ou verificar se estão ou não marcadas pode-se utilizar a propriedade checked.
Instituto Federal de Santa Catarina- Campus Garopaba
Pág | 61
Desenvolvimento de Sites com PHP e Mysql
Docente – André Luiz Silva de Moraes
Exemplo de uso de getElementsByName():
//arquivo funcoes.js
function calculaSexo(){
var radiosSexo = document.getElementsByName('sexo');
for(i=0;i<radiosSexo.length;i++){
if(radiosSexo[i].checked){
var sexo = radiosSexo[i].value;
}
}
document.getElementById('txtSexo').value = sexo;
}
Tabela 19: Exemplo de captura de valor com uso de radio Button
Tarefas
Criar um formulário de cadastro dentro de uma div com ID = “auxiliar” contendo 5 caixas de texto (nome, sobrenome, telefone,
cidade e email.) e um botão de enviar. Em seguida, realizar as seguintes tarefas:
1.
Desenvolver a função colorirCaixas(), e com uso da propriedade getElementsByTagName() fazer com que ao
movimentar o mouse sobre uma das caixas, todas as caixas de texto e o botão fiquem com a sua cor de borda
verde-escuro (#228B22);
2.
Desenvolver uma função validaConteudo(), fazendo com que ao clicar no botão enviar verifique os itens do
formulário e caso algum seja deixado em branco, inserir uma mensagem em uma nova div de id =’mensagem’.
3.
◦
A mensagem deverá estar localizada logo acima do formulário avisando que as caixas não podem ficar em
branco.
◦
O script deverá pintar cada caixa vazia com o seu fundo vermelho até que o problema seja
corrigido. Utilizar as funções document.getElementsByTagName e innerHTML para as mensagens;
Desenvolver uma função copiaConteudo(), e fazer com que ao evento onblur todo o texto inserido nas 3 caixas,
nome, email e cidade seja copiado para um novo elemento textarea. Cada vez que o usuário deixar a caixa, a
textarea deve ser alimentada com o novo conteúdo.
Referências
“W3SCHOOLS”, disponível em http://www.w3schools.com
“Java2S”, disponível em http://www.java2s.com/
Instituto Federal de Santa Catarina- Campus Garopaba
Pág | 62

Documentos relacionados

JavaScript - Marx Gomes Van der Linden

JavaScript - Marx Gomes Van der Linden Acesso a Elementos Específicos Para cada nó, o DOM define três métodos que podem ser usados para encontrar mais facilmente elementos específicos: getElementsByTagName() getElementsByName() getElem...

Leia mais

Javascript - Marx Gomes Van der Linden

Javascript - Marx Gomes Van der Linden pratos['extra'] = 'Surpresa do dia'; document.write("Eu quero " + pratos.length + " pratos: ");

Leia mais