Ir para conteúdo

POWERED BY:

Arquivado

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

PauloRJ

[Resolvido] Codigo nao funciona no IE

Recommended Posts

este codigo só funciona no FireFox e de vez em quando aparece um erro com a seguinte mensagem no AVISO do firefox:

 

reference to undefined property document.all erro nesta linha: document.all['cam'].innerHTML="<input type=text id=nome name=nome size=30 value='Digite o assunto.'>";

 

 

Procuro ajuda para faze-lo funcionar no IE

 

segue o codigo:

 

<script language="JavaScript">  
function liga3(obj)
{
	if (document.formulario.assunto.value != "Outros")
	{
		document.all['cam'].innerHTML="";
	}
	else
	{
		document.all['cam'].innerHTML="<input type=text id=nome name=nome size=30 value='Digite o assunto.'>";
		document.formulario.nome.focus();
	}
}
</script>  



<form ACTION="#" METHOD="POST" name="formulario">

<select name="assunto" id="assunto" class="caixa">

<option value="" selected="selected" onClick="liga3(this);">Selecione</option>
<option value="Coleta" onClick="liga3(this);">Coleta</option>
<option value="Outros" onClick="liga3(this)">Outros</option>

</select>
<br>
<span id="cam"></span>


</form>  

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o document.getElementById

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz assim e funcionou....ve se te ajuda

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>XXX</title>
	<script type="text/javascript">
		function liga3(obj)
		{
        if (document.formulario.assunto.value != "Outros")
        {
                document.getElementById('cam').innerHTML="";
        }
        else
        {
                document.getElementById('cam').innerHTML="<input type=text id=nome name=nome size=30 value='Digite o assunto.'>";
                document.formulario.nome.focus();
        }
	}
	</script>
</head>
<body>
<form ACTION="#" METHOD="POST" name="formulario" id="formulario">

	<select name="assunto" id="assunto">
		<option value="" onclick="liga3(this);">Selecione</option>
		<option value="Coleta" onclick="liga3(this);">Coleta</option>
		<option value="Outros" onclick="liga3(this)">Outros</option>
	</select>
	<br />
	<span id="cam"></span>
</form>  
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, no mozila ficou show (sem erros)

Mas no IE NADA!

IE: Versao + atualizada possivel que eu uso.

 

nao funcionada no ie, ta f***.

Aproveitando a oportunidade qual a vantagem ou diferença de usar o getElementById neste caso ?

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com o evento onchange, ao invés do onclick:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>XXX</title>
<script type="text/javascript">
function liga3(obj) {
var objSpan = document.getElementById("cam");

	if (obj.value != "Outros") {
		objSpan.innerHTML="";
	} else {
		objSpan.innerHTML='<input type="text" id="nome" name="nome" size="30" value="Digite o assunto.">';
		document.formulario.nome.focus();
	}
}
</script>
</head>
<body>
<form ACTION="#" METHOD="POST" name="formulario" id="formulario">
<select name="assunto" id="assunto" onchange="liga3(this)">
<option value="">Selecione</option>
<option value="Coleta">Coleta</option>
<option value="Outros">Outros</option>
</select>
<br />
<span id="cam"></span>
</form>  
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaziada não funcionou ainda.

to revoltado!

 

Paulo,

 

Porque você não cria uma DIV/Span oculta com este input outros.

 

Ai você testa se for outros, você só mostra essa div/span, fica mais ou menos assim:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>XXX</title>
	<script type="text/javascript">
		function liga3(obj)
		{
        if (obj == "Outros")
        {
           document.getElementById('cam').style.display="block";
        }
        
		}
	</script>
</head>
<body>
<form ACTION="#" METHOD="POST" name="formulario" id="formulario">

	<select name="assunto" id="assunto" onchange="liga3(this.value)">
		<option value="">Selecione</option>
		<option value="Coleta">Coleta</option>
		<option value="Outros">Outros</option>
	</select>
	<br />
	<span id="cam" style="display:none;">
		<input type="text" id="nome" name="nome" size="30" value="Digite o assunto." />	
	</span>
</form>  
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!Resolvido

Consegui colocar para funcionar assim:

 

 


<script type="text/javascript">

function liga(obj) {
var objSpan = document.getElementById("cam");

        if (obj.value != "Outros") {
                objSpan.innerHTML="";
        } else {
             objSpan.innerHTML='<input type="text" class="caixa" id="assunto_digita" name="assunto_digita" size="30" value="Digite o assunto.">';
             document.ouvidoria.assunto_digita.focus();
        }
}

</script>

</head>

<body>

<form ACTION="#" METHOD="POST" name="formulario" id="formulario">

<select name="assunto" id="assunto" onchange="liga(this)">
<option value="">Selecione</option>
<option value="Coleta">Coleta</option>
<option value="Outros">Outros</option>
</select>
<br />
<span id="cam"></span>


</form>

 

Valeu a força!

Grato mesmo.

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.