Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Eventos - comando não funciona

Meu arquivo calcula-imcs.js está assim :

function calculaIMCS() {

var trsPaciente = document.getElementsByClassName("paciente");

for (posicaoAtual = 0; posicaoAtual <= trsPaciente.length -1; posicaoAtual++) {

pacienteTr = trsPaciente[posicaoAtual];

tdNome = pacienteTr.getElementsByClassName("info-nome")[0]; tdPeso = pacienteTr.getElementsByClassName("info-peso")[0]; tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];

pacienteAtual = {nome : tdNome.textContent, peso: tdPeso.textContent, altura: tdAltura.textContent, pegaImc : function () {

if (this.altura != 0) {

return this.peso / (this.altura * this.altura);

} else {

console.log("Altura = 0. Não pode dividir por zero"); return 0 }

}};

var imc = pacienteAtual.pegaImc();

tdImc = pacienteTr.getElementsByClassName("info-imc")[0];

tdImc.textContent = imc;

}

}

var botao = document.getElementsById("calcula-imcs");

botao.onclick = calculaIMCS;

//botao.addEventListener("click", calculaIMCS);

=--------> E no index.html tem a declaração do botão assim :

. . .

Robson 90 1.80

Calcular Imcs

Mas quando eu clico no botão não acontece nada. Para funcionar tenho que declarar assim :

Calcular Imcs

Porque não está funcionando ????????

6 respostas

tente remover o "botao.onclick = calculaIMCS;" e deixar apenas o Listener, diz se funcionou

Não funcionou. Ele ignora este comando.

Robson,

coloque por favor o seu código entre três crases para podermos ver corretamente.

// código entre crases

Att.

Esqueci de mencionar, são necessárias três crases antes e mais três depois do código.

```

Robson, apenas foi um erro de digitação. Você pos: var botao = document.getElementsById("calcula-imcs");

Quando o correto é sem o "s". O Correto é getElementById.

Coloque:

var botao = document.getElementById("calcula-imcs");

Que irá funcionar.

Bons Estudos!

solução!

Funcionou. Era erro no getElementsById mesmo. Obrigado