Ir para conteúdo

POWERED BY:

Arquivado

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

Mr Crowley

evento onchange nao funciona no radio

Recommended Posts

Pessoal,

eu tenho esse exemplo de código

<p>	Sim: <input type="radio" name="TitIniDtOK" id="TitIniDtOK" value="1"> Não: <input type="radio" name="TitIniDtOK" id="TitIniDtOK" value="2"></p>....window.onload = function(){	document.getElementById('TitIniDtOK').onchange = function()	{		alert('Mudo');	}	}

quando mudo de campo, o SIM funciona, porem, o NAO, ele nao funciona

pelo que percebi, ele para no primeiro campo que tenha ID igual a "TitIniDtOK" e nao verifica os outros

 

porem, se faço assim

<p>	Sim: <input type="radio" name="TitIniDtOK" id="TitIniDtOK" value="1" onChange="TitIniDtOK();"> Não: <input type="radio" name="TitIniDtOK" id="TitIniDtOK" value="2" onChange="TitIniDtOK();"></p>
funciona!

mais prefiro da forma anterior!! :s

 

existe uma cura para esse problema?

 

abs

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

MrCrowley, o ID é(ou pelo menos deveria ser) uma identificação única nos formulários HTML, portanto quando você atribui uma função ao evento onChange do radio utilizando o método getElementById, só o primeiro elemento do formulário com esse ID vai executar o evento.

 

Para o evento funcionar nos dois você terá que criar ID's diferentes e atribuir a função no evento de cada elemento que deve executar alguma ação.

 

function change(){	 alert('Mudo');	}window.onload = function(){	document.getElementById('TitIniDtSim').onchange = change;	document.getElementById('TitIniDtNao').onchange = change;}<p>   Sim: <input type="radio" name="TitIniDtOK" id="TitIniDtSim" value="1"> Não: <input type="radio" name="TitIniDtOK" id="TitIniDtNao" value="2"></p>
Qq dúvida postae. OK..!!?? T+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

value vagner

funcionou!

 

agora, aproveitando o pos

eu tenho a seguinte funcao(na verdade ela é complemento)

function RetornaKeyCode(Evento){	if (window.event)	{	keycode = window.event.keyCode;	}	else if (Evento)	{		keycode = Evento.which;	} 	return keycode;}

quando uso ela dessa forma

<p>	<input name="TitIniDt" type="text" class="FormCampo" id="TitIniDt" size="11" maxlength="10" onKeyUp="RetornaKeyCode(event)" ></p>

ela funciona perfeitamente

 

porem, se eu faco dessa forma

 

document.getElementById('TitIniDt').onkeyup = function()	{		RetornaKeyCode(event);	}

me retorna erro,

existe cura para isso?

como eu faco para passar o evento para a funcao dessa forma?

 

abs

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade nem precisa passar o EVENTO, ele é implicito na chamada da função.

Testa esse exemplo e adapta para o seu caso.

 

<script>	function char(e){		try{var element = e.which		  }catch(er){};		try{var element = event.keyCode	}catch(er){};				alert (String.fromCharCode(element))	}	window.onload = function(){ document.getElementById('teste').onkeypress = char;}			</script><input type="text" id="teste" />
OK..!!?? T+...

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.