Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Deep

Iniciante em JS.

Recommended Posts

Sou iniciante em JS e estou fazendo o seguinte.

Eu tenho 1 botão, quando eu clicar no botão esse botao vai ficar desabilitado durante alguns segundos, depois ele volta ao normal.

Eu fiz um teste no FF e funciona normal, no IE ele dá um erro de página, esse erro só ocorre quando o botão desabilitado volta a ficar habilitado.

 

Erro: "undefined" é nulo ou não é objeto.

 

HTML

<BUTTON type="button" onclick="clicarBotao(this);">Clique Aqui</BUTTON>
JS

function clicarBotao (button){  var cubo = document.getElementById("cubo");  cubo.style.backgroundColor = "#FFAA44";  button.setAttribute("disabled", "true");  setTimeout(resetarBotao, 2000, button);}function resetarBotao(button){  var cubo = document.getElementById("cubo");  cubo.style.backgroundColor = "transparent";  button.removeAttribute("disabled");}
CSS

#cubo {  width: 20px;  height: 20px;  border: 2px inset gray;  margin-bottom: 10px;}

Alguém sabe como eu posso arrumar?

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de remover o atributo DISABLED, só troca o valor dele:

function resetarBotao(button){  var cubo = document.getElementById("cubo");  cubo.style.backgroundColor = "transparent";  button.disabled = false;}
button.disabled = false;

 

OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Identifica o BUTTON da mesma forma que você faz com o CUBO, através do document.getElementById("ID_ELEMENTO");.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica não use mais:

 

<BUTTON type="button" onclick="clicarBotao(this);">Clique Aqui</BUTTON>

pois pode ser umdos motivos por não funcionar a tag "button" caiu em desuso, faça assim:

 

<input type="button" value="Click aqui" onclick="clicarBotao(this);">

ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela dica Tiago Cardoso, já alterei essa parte.

 

vagner.net, por favor vê se eu fiz correto.

 

function clicarBotao (button){  var cubo = document.getElementById("cubo");  cubo.style.backgroundColor = "#FF6600";  button.setAttribute("disabled", "true");  setTimeout(clearDemo, 2000, button);}function clearDemo(button){  var button = document.getElementById("button");  var cubo = document.getElementById("cubo");  cubo.style.backgroundColor = "transparent";  button.removeAttribute("disabled");}

Porque agora ele dá uma mensagem assim:

 

'null' é null ou não é objeto.

 

agora ele não funciona no IE e no FF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não usa o mesmo nome do parametro da função em uma variável(button) esubstitui o removeAttribute pelo disabled = false.

 

Aliás, se você vai escrever o ID direto no método getElementById, nem precisa passar aquele parâmetro.

 

PS: você definiu o ID do seu botão como "button"???

Compartilhar este post


Link para o post
Compartilhar em outros sites

PS: você definiu o ID do seu botão como "button"???

tinha esquecido, valeu pelo toque.Mais uma coisa, é possível eu alterar o texto do botão?EX:no botão normal: EnviarNo botão clicado (desabilitado): Enviando mensagemExiste algum comando que eu posso estudar que faça isso?Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.