Ir para conteúdo

POWERED BY:

Arquivado

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

djhonyy

problemas com o document.getElementById();

Recommended Posts

Pessoal,

 

em um site que trabalho descobri que uma opcão muito importante dele não funciona no firefox, este erro pode resultar em cadastros inconsistentes.

 

descrevo a situação: as formas de pagamento sao mostradas com opcoes em botoes radio, e de acordo com os dados inseridos pelo usuriario previamente essas opcoes sao ou nao habilitadas.

 

como sao 10 opcoes radio, fica ruim eu digitar todos os nome e setar algma propriedade deles um por um, gostaria de fazer isso em um for.

 

 

neste caso abaixo eu especifico o id do radio, vai de 01 a 12 mais ou menos. como eu poderia desabilitar todos ou somente alguns utilizando um for com uma bandeira de indice.

 

document.getElementById("rd_pagamento01").setAttribute("disabled", "true");

eu nao consegui mexer como array de elemento e nem utilizando uma bandeira de atribuicao.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os radios estão todos em um formulário, certo? Pegue esse formulário e depois os campos do tipo radio que ele tiver..

for(i=0 i<document.getElementById("id_form").elements.length; i++){if(document.getElementById("id_form").elements[i].type=="radio"){document.getElementById("rd_pagamento"+i).setAttribute("disabled", "true");}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

B) Mano,

 

continua acusando erro, se quiser ver um exemplo tem no site www.publicacoesrio.com.br/teste.html, eh a primeira vez que to fazendo algo que deva funfar no internet explorer e no firefox. continuo contando com tua ajuda e paciencia. obrigado cara.

 

<html><head></head><script>function Desabilita(){	 for(i=0; i<document.getElementById("Frm").elements.length; i++)		 {			  if(document.getElementById("Frm").elements[i].type=="radio")		 			{				   //alert('achou um radio');							 document.getElementById("rd_pagamento"+i).setAttribute("disabled", "true");			  }	 }}</script><body><form name="Frm">opcoes de pagamento<p><input id="rd_pagamento1" name="rd_pagamento" type="radio" value="1" />R$ 10,00</p><p><input id="rd_pagamento2" name="rd_pagamento" type="radio" value="2" />R$  60,00</p><p><input id="rd_pagamento3" name="rd_pagamento" type="radio" value="3" />R$ 120,00</p>		</form><input type="button" value="desabilita" onClick="Desabilita()"> </body></html>
B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu consegui fazer ele desabilitar, fiz iss oapenas colocando uma outra variavel diferente do i, nao sei prq, beleza to conseguindo desabilitar agora outro problema, a opcao para habilitar dando o

 

.setAttribute("disabled","false");

 

nao esta funcionando, tem ideia de como proceder?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mesmo colocando vazio o erro persiste, eu consigo desabilitar o botao mas nao habilta-lo novamente, o engraçado eh q quando clico em habilitar desabilita, como se as duas funcoes fossem iguais. B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui cara, graças ao GOOGLE, pesquisei so parte do comando e achei o que precisava, deveria ter feito isso ontem, mesmo assim muito obrigado mano.

 

eu estava usando este

 

document.getElementById("rd_pagamento_"+um).setAttribute("disabled","false");
e troquei por este

 

document.getElementById("rd_pagamento_"+um).removeAttribute('disabled');

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o seguinte

 

function Desabilita()

{

//document.getElementById("rd_pagamento").setAttribute("disabled", "true");

//alert(document.getElementById("Frm").elements.length);

var qtd_radio = 0;

for(i=0; i<document.getElementById("Frm").elements.length; i++)

{

if (document.getElementById("Frm").elements.type=="radio")

{

qtd_radio++;

//alert('achou um radio');

//alert(i);

document.getElementById("rd_pagamento"+qtd_radio).setAttribute("disabled", "true");

}

}

}

 

 

OBS: Seu for começa em "i=0" e os seus campos radios começam com "rd_pagamento[1,2,3...]"

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.