Questão nº 44
Questão de Tecnologia da Informação · FCC TRT17 2022 (nº 44)
Considere o bloco de código abaixo, presente em uma página HTML, em condições ideais, que apresenta uma enquete em que o usuário poderá selecionar uma dentre duas alternativas disponíveis.
```html
<form name="prova" id="formulario">
<p>
1) O TRT da 17ª Região está situado <br>
<input type="radio" name="q1" id="q1a">
<label for="q1a">no Espírito Santo.</label> <br>
<input type="radio" name="q1" id="q1b">
<label for="q1b">em São Paulo.</label>
</p>
<p>
<input type="button" value="Ver Resultado" onclick="verResultado()">
</p>
</form>
<p id="resultado"></p>
```
Ao clicar no botão "Ver Resultado" será chamada à função JavaScript `verResultado()`. Nessa função, para verificar se a primeira opção da enquete foi selecionada, utiliza-se a instrução
- A`if(document.prova.q1[0].checked) { }` (alternativa correta)
- B`if(document.formulario.q1a[1].checked) { }`
- C`if(document.formulario.q1a[0].checked) { }`
- D`if(document.input[id='q1a'].checked) { }`
- E`if(document.prova.q1[1].checked) { }`
Resposta comentada
Gabarito Alternativa A
Em JavaScript, para acessar elementos de formulário, como botões de rádio, dentro de uma página HTML, você pode usar o nome ou ID do formulário. Quando vários botões de rádio compartilham o mesmo atributo `name`, eles são tratados como um grupo (uma coleção) e podem ser acessados usando o `name` do grupo, seguido de um índice numérico (começando do zero) para selecionar um botão específico. A propriedade `.checked` verifica se um botão de rádio está selecionado.
(A) Correta: Esta instrução acessa o formulário pelo seu `name` (`document.prova`), depois a coleção de botões de rádio com `name="q1"` (`.q1`), e então o primeiro elemento dessa coleção (`[0]`), verificando se ele está `checked` (selecionado).
(B) Incorreta: `document.formulario.q1a` se refere a um único elemento pelo seu `id` (`q1a`), não a uma coleção, tornando o uso de `[1]` inválido. Além disso, `[1]` indicaria o segundo elemento, não o primeiro.
(C) Incorreta: `document.formulario.q1a` se refere ao elemento com `id="q1a"`. Ao acessar um elemento diretamente pelo seu `id` (ou `name` quando único), ele já é o elemento, não uma coleção, então o uso de `[0]` é incorreto e redundante. A armadilha aqui é confundir o acesso a um elemento único com o acesso a uma coleção.
(D) Incorreta: `document.input` não é uma propriedade ou método válido para acessar elementos no DOM. A sintaxe `[id='q1a']` é de seletor CSS ou XPath, não de acesso direto a propriedades de `document`.
(E) Incorreta: Embora `document.prova.q1` acesse corretamente a coleção de botões de rádio, `[1]` se refere ao segundo botão de rádio da coleção, e a questão pede para verificar a primeira opção.
Fonte: FCC TRT17 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.