Ir para conteúdo

POWERED BY:

Arquivado

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

Katya_crisd

Problema adicionando evento

Recommended Posts

Olá

 

Estou adicionando eventos a text, funciona 100% no firefox, mas no IE não funciona... alguém sabe qual poderia ser o problema?

 

segue o código

 

<html>
<head>
<title>Teste evento</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script>
	window.document.onmousemove = movimentacaoMouse;
	var ok = false;
	function buscaAliquota(objeto) {
		objeto.value = '150';
	}
	function movimentacaoMouse(e) {
		if(!ok) {
			ok = true;
			i = 0;
			do {
				i += 1;
				campo = $('campo' + i.toString());
				if(campo) {
					adicionarEvento(campo,'change',function(e){buscaAliquota(this)} );
				}
			} while (campo);
		}
	}
	
	function $(objeto) {
		return document.getElementById(objeto);
	}
	
	function adicionarEvento(objeto, tipo, funcao){
		 try {
			objeto.addEventListener(tipo, funcao, true);
		} catch (e) {
			try {
				objeto.attachEvent('on' + tipo, funcao);
			} catch (ee) {
				alert(ee);
			}
		}
		
	}
</script>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td><input name="campo1" type="text" id="campo1"></td>
  </tr>
  <tr>
	<td> 
	  <input name="campo2" type="text" id="campo2"></td>
  </tr>
  <tr>
	<td><input name="campo3" type="text" id="campo3"></td>
  </tr>
</table>
</body>
</html>

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom você pode fazer um debug no codigo, como? passando alert em cada trecho ate ver aonde está o problema.

Entao, o problema é que no IE o objeto nao é criado neste trecho

 

campo = $(campo' + i.toString());

tanto que você pode verificar fazendo um alert no

 

function buscaAliquota(objeto) {

objeto.value = '150';

alert(objeto)

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, acho que não me expressei corretamente...

 

O problema até sei qual é, no internet explorer quando adiciono um evento que passa como parâmetro o this ele não reconhece o objeto.

 

Na linha "objeto.value = '150';" da função buscaAliquota ele deveria jogar o valor 150 para o campo. No firefox funciona, no Internet Explorer não...

 

Alguém sabe como resolver?

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.