Questão nº 78
Questão de Tecnologia da Informação · FCC TCE-GO 2022 (nº 78)
Considere o formulário HTML e a função JavaScript abaixo.
```
<form method="post">
<label for="n">Usuário:</label>
<input type="text" name="user" size="30" id="n">
<label for="s">Senha:</label>
<input type="password" name="senha" size="30" id="s">
<input type="button" value="Entrar"
I
>
</form>
<script>
function verificar(u, s) {
}
</script>
```
Para que ao clicar no botão a função verificar seja chamada, passando o conteúdo dos campos user e senha como parâmetros, a lacuna I deverá ser preenchida corretamente com
- Aonclick="verificar(user.value, senha.value)" (alternativa correta)
- BonEvent("click")="verificar(user, senha)"
- Conclick="verificar(this.user, this.senha)"
- Donclick="verificar(user, senha)"
- EonEvent("click")="call verificar(user.value, senha.value)"
Resposta comentada
Gabarito Alternativa A
Para que um botão HTML execute uma função JavaScript ao ser clicado, usamos o atributo onclick. Para acessar o texto digitado em um campo de formulário (um input), precisamos referenciar o campo e usar a propriedade .value.
- (A) Correta: O atributo
onclické o padrão para executar código JavaScript quando o botão é clicado.useresenhareferenciam os elementosinputpelos seus atributosname(ouidem alguns contextos), e.valueé a propriedade correta para obter o conteúdo (o texto digitado) desses campos. Assim,verificar(user.value, senha.value)chama a funçãoverificarpassando o conteúdo dos campos como parâmetros. - (B) Incorreta:
onEvent("click")não é uma sintaxe HTML válida para manipular eventos. Além disso,verificar(user, senha)passaria os elementos HTML dos campos, e não seus valores (conteúdo), que é o que a funçãoverificarespera. - (C) Incorreta:
thisdentro doonclickde um botão se refere ao próprio botão. Um botão não possui propriedadesuserousenhaque se refiram a outros campos do formulário. Isso resultaria emundefined. - (D) Incorreta: Embora
onclickesteja correto,verificar(user, senha)passaria os elementos HTML dos campos (<input type="text" ...>), e não seus valores (o texto digitado). A funçãoverificarespera os valores (strings) como parâmetros, não os elementos. A armadilha aqui é queuseresenhapodem, em alguns contextos, referenciar os elementos, mas o.valueé essencial para obter o conteúdo. - (E) Incorreta:
onEvent("click")não é uma sintaxe HTML válida para manipular eventos, ecallnão é uma palavra-chave utilizada dessa forma para chamar funções em umonclickinline.
Fonte: FCC TCE-GO 2022 Analista de Controle Externo - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.