Ir para conteúdo

POWERED BY:

Arquivado

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

McrOnline

[Resolvido] Alternativa para innerHTML

Recommended Posts

Estou usando:

 

document.getElementById("teste").innerHTML = "teste";

funciona no IE, mas não no FireFox.

 

Vi por ai que é pq o innerHTML não faz parte das normas da W3C

 

Alguem sabe um script alternativo que faça a função do innerHTML e funcione tanto no IE quanto no Firefox?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

InnerHtml funciona no FF sim, deve ser alguma outra coisa... tenta colocar mais um trecho do codigo

Vi por ai tb que talvez não funcione se estiver dentro de uma tabela, sei la.

O cógigo que fiz utiliza varias funcoes, então fiz um resumo de como ele é, abaixo:

 

<script>
function period_mode(){
   n = document.getElementById("select_period").value;
   period_html_1 = '<div class="v7" style="float:left; padding-left=25px;">Year<br><INPUT class="v8" TYPE="text" NAME="year" size="6" value="2008"></div>';

   switch(n){
	  case 1:
		 html = period_html_1;
	  break;
   }
  
   document.getElementById("period").innerHTML = html;
}
</script>

<body>
   <table>
	  <tr>
		 <td>
			<div id="period"></div>
		 </td>
		 <td>
		  <select onChange="period_mode();" id="select_period">
			 <option value="1">Period 1</option>
			 <option value="2">Period 2</option>
		  </select>
		 </td>
	  </tr>
   </table>
</body>

Se tiver algum erro de sintaxe, ignore, no IE esta funcionando.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema nao é o innerHtml, altere ae:

 

case "1":

 

e aproveitando, uma sugestao:

 

script>

function period_mode(n){

var period_html_1 = '<div class="v7" style="float:left; padding-left=25px;">Year<br><INPUT class="v8" TYPE="text" NAME="year" size="6" value="2008"></div>';

 

switch(n){

case "1":

html = period_html_1;

break;

default: html = "";

}

 

document.getElementById("period").innerHTML = html;

}

</script>

 

<body>

<table>

<tr>

<td>

<div id="period"></div>

</td>

<td>

<select onChange="period_mode(this.value);" id="select_period">

<option value="1">Period 1</option>

<option value="2">Period 2</option>

</select>

</td>

</tr>

</table>

</body>

[/color]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andreia,

 

Eu esqueci de colocar um detalhe no meu codigo, a linha é assim:

 

n = Number(document.getElementById("select_period").value);

mas mesmo assim tentei fazer pegando n como uma string mesmo. Coloquei o case "1" e tirei o Number.

e não é que funcionou!!

 

sobre o uso de n como parametro da funcao e do 'this.value', não fiz assim pois a função 'period_mode' também é chamada em outros pontos do script, e não somente no onChange do select, eu não coloquei tudo aqui para não ficar muito extenso. de qualquer modo obrigado pela dica.

 

Obrigado pela ajuda, um abraço

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.