Jump to content


Photo

Problema Com Innerhtml


  • Faça o login para participar
2 replies to this topic

#1 Celão

Celão

    Marcelo Santino

  • Usuários
  • 525 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 27/10/2005, 18:27

fala galera... trank?

eu fiz uns códigos doidos aqui, mas só estão funcionando no Firefox!
Não funciona no IE !!!!

o código é o seguinte:
o java script:

<script>
	function seleciona(OBJ){
  
  var chkbox = 'chkbox_'+OBJ;
  var chkbox = document.getElementById(chkbox);
  var label = 'label_'+OBJ;
  var label = document.getElementById(label).innerHTML;
  var div = opener.document.getElementById('divTema').innerHTML;
  var tema = opener.document.getElementById('cd_tema_montado').value;
  var VALOR = ' - '+label+'<br>';
  var CD_VALOR = ',.'+chkbox.value+'.';
  
  if(chkbox.checked){
 	 
 	 opener.document.getElementById('divTema').innerHTML = div + VALOR;
 	 opener.document.getElementById('divTema').style.width = '80%';
 	 opener.document.getElementById('cd_tema_montado').value = tema + CD_VALOR;
 	 opener.document.getElementById('nome_tema_montado').value = div + VALOR;
 	 
  } else {
 	 
 	 string = replaceAll( div, VALOR, '');
 	 opener.document.getElementById('divTema').innerHTML = string;
 	 opener.document.getElementById('divTema').style.width = '80%';
 	 opener.document.getElementById('nome_tema_montado').innerHTML = string;
 	 string2 = replaceAll( tema, CD_VALOR, '');
 	 opener.document.getElementById('cd_tema_montado').value = string2;
    
  }
  
	}
	
	function replaceAll( str, from, to ) {
   	 var idx = str.indexOf( from );


     while ( idx > -1 ) {
         str = str.replace( from, to );
         idx = str.indexOf( from );
     }

   	 return str;
	}
	
	function checkAll(OBJ, TOT){
  
  if(OBJ.checked){
 	 
 	 for(i=0; i < TOT; i++){
    
    var box = 'chkbox_'+i;
    var label = 'label_'+i;
    chkbox = document.getElementById(box);
    chkbox.checked = true;
    seleciona(i);
    
 	 }
 	 
  } else {
 	 
 	 for(i=0; i < TOT; i++){
    
    var box = 'chkbox_'+i;
    var label = 'label_'+i;
    chkbox = document.getElementById(box);
    chkbox.checked = false;
    seleciona(i);
    
 	 }
 	 
  }
  
	}

</script>

e o html tá assim:
<tr height="24" bgcolor="#F3F3F3">
 	 <td width="30" align="center">
    <input type="checkbox" id="chkbox_0" name="chkbox_0" value="201" class="normal" onChange="javascript:seleciona('0')">
 	 </td>
 	 <td style="padding-right:5px">
    <label for="chkbox_0" style="cursor:pointer" id="label_0">DESENVOLVIMENTO INSTITUCIONAL</label>
 	 </td>
  </tr>
  <tr height="1" bgcolor="#FFFFFF"><td colspan="2"></td></tr>
  <tr height="24" bgcolor="#F8F8F8">
 	 <td width="30" align="center">
    <input type="checkbox" id="chkbox_1" name="chkbox_1" value="200" class="normal" onChange="javascript:seleciona('1')">
 	 </td>
 	 <td style="padding-right:5px">
    <label for="chkbox_1" style="cursor:pointer" id="label_1">DIREITOS HUMANOS</label>
 	 </td>
  </tr>
  <tr height="1" bgcolor="#FFFFFF"><td colspan="2"></td></tr>
  <tr height="24" bgcolor="#F3F3F3">
 	 <td width="30" align="center">
    <input type="checkbox" id="chkbox_2" name="chkbox_2" value="202" class="normal" onChange="javascript:seleciona('2')">
 	 </td>
 	 <td style="padding-right:5px">
    <label for="chkbox_2" style="cursor:pointer" id="label_2">ECUMENISMO</label>
 	 </td>
  </tr>
  <tr height="1" bgcolor="#FFFFFF"><td colspan="2"></td></tr>
  <tr height="24" bgcolor="#F8F8F8">
 	 <td width="30" align="center">
    <input type="checkbox" id="chkbox_3" name="chkbox_3" value="203" class="normal" onChange="javascript:seleciona('3')">
 	 </td>
 	 <td style="padding-right:5px">
    <label for="chkbox_3" style="cursor:pointer" id="label_3">OUTROS</label>
 	 </td>
  </tr>

Esse código é em uma pop-up, e ao clicar no checkbox ele deveria passar o conteúdo do LABEL para um DIV na página principal e alimentar um campo hidden com o value do checkbox!

no firefox está funcionando perfeitamente, mas no IE não!
Não consio achar o erro por nada!
Aquele alerta do IE diz que: "Erro em tempo de execução desconhecido"!
não ajuda em nada esse erro!!!

por favor, se alguém puder ajudar....
vlw...
Marcelo Santino - DBA SQL Server/Oracle
Banco de dados e Tecnologia: www.bau-de-dev.com

#2 Emerson Mendes

Emerson Mendes

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Não informado

Posted 28/10/2005, 17:10

Olá.
Ao invés de usar opener.document.getElementById... vc tentou usar o objeto 'window'.
Ex.

window.opener.document.getElementById...

...

Blz..
Flw...
Emerson R. Mendes
son.mendes@gmail.com

#3 Celão

Celão

    Marcelo Santino

  • Usuários
  • 525 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro

Posted 29/10/2005, 09:54

não tentei!
pode ser que ajude!!!

isso é lá no trabalho... segunda vou ver se funciona e depois eu digo aqui!!!

valeu pela dica... eu não sabia que podia usar window.opener.document!

vlw!!
Marcelo Santino - DBA SQL Server/Oracle
Banco de dados e Tecnologia: www.bau-de-dev.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq