Ir para conteúdo

POWERED BY:

Arquivado

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

ÐCollioni

Pegar valor de um campo hidden

Recommended Posts

O código é o seguinte..

 

<?php

if(isset($cod))

{

echo "<input type='hidden' id='cod' value='$cod' />";

}

else

{

echo "<input type='hidden' id='cod' value='000' />";

}

?>

 

<script>

var cod = document.getElementById('cod').value;

alert(cod);

</script>

 

Funciona perfeitamente no I.E. mas no Firefox mostra o seguinte: document.getElementById("cod") is null

 

O Firefox realmente não pega campos hidden por esse método, ou o problema é no meu navegador?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O FF pega sim os valores do hidden.. normal....

 

você está colocando esse script antes ou depois do php ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

O script está depois do Php.. assim como eu colei aí..

 

É estranho, pois usando qualquer outro tipo no input ("text" por exemplo) funciona em ambos.

 

Como solução, eu coloquei um campo 'text' e depois o ocultei.. assim os dois navegadores aceitam.. mas fica um espaço na página onde o campo está oculto.

 

Mistérios do FireFox.. rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... em um sistema meu aki.. por falta de 1.. eu tenho 2 campos hidden... e como é um sistema interno do trampo.. eu só o fiz para o FF.. e funciona que é uma beleza....

 

Faça o seguinte.... coloque esse script como uma função... e chame ela no evento "OnLoad" do <body>... e veja se funciona..

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas esse dado precisa ser acessado numa outra página JS.. que é carregada no HEAD..

 

Usando o evento no BODY, a página externa será carregada sem a informação..

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" type="text/css" href="style.css" />

<input type='hidden' id='cod' value='e24fbc50a511bacf4dffd2126d9c9d77' />
<script>
	//document.getElementById('cod').style.visibility = "hidden";
	//document.getElementById('cod').disabled;
	function varCod()
	{
		var cod = document.getElementById('cod').value;
		alert(cod);
		return cod;
	}
</script><script type="text/javascript" src="[b]includes/scripts/slide.js[/b]"></script>

<title> Intermediary Comércio e Representações - WebSite1 </title>
</head>
<body onload="return varCod();">
.... 
</body>
</html>
Assim, tanto o IE quanto o FF me exibiram o alerta com o dado do COD..

 

Porém, como a página que precisa rceber esse dado "includes/scripts/slide.js" está antes do evento, ela não foi carregada corretamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer assim:

- Defina a variável com o mesmo nome na sua página e no seu arquivo JS.

- Atribua um valor à ela antes de chamar o seu arquivo js.

 

Ex.:

<script type="text/javascript">
function varCod()
{
var cod = document.getElementById('cod').value;
alert(cod);
return cod;
}
var cCod = varCod();
</script>
<script type="text/javascript" src="includes/scripts/slide.js"></script>

Lembrando que dentro do teu arquivo slide.js, nas primeiras linhas, você tem que criar a mesma variável!

var cCod;

 

Abrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

berkowitz,

 

Continuo com o mesmo problema.. no IE vai tranquilo.. já no Firefox nem pensar.

 

Na estrutura, tá assim:

 

<?
	if(isset($cod)) // AND $cod <> ""
	{
		echo "<input type='hidden' id='cod' value='$cod' />";
	}
	else
	{
		echo "<input type='hidden' id='cod' value='000' />";
	}
?>

<script type="text/javascript">
function varCod()
{
var cod = document.getElementById('cod').value;
alert(cod);
return cod;
}
var cCod = varCod();
</script>

<script type="text/javascript" src="includes/scripts/slide.js"></script>

Pra tu poder entender e ver se tem algo errado, mando o início da página slide.js que precisa do valor do cod..

 

var cod1 = cCod;
	var cod2
	if (cod1 == "000")
	cod2 = " "
	else
	cod2 = "?cod="+cod1

var fadeimages=new Array()
fadeimages[0]=["./images/slide/oferta_eletricos.jpg", "eletricos.php"+cod2, "","Oferta dos produtos elétricos"]

O FF mostra o endereço assim:

 

www.meusite.com/index.php?cod=undefined

 

Obrigado pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas você não definiu a variável no início como eu tinha dito.

Antes do var cod1 = cCod; você tem q colocar um var cCod;

 

Tentae...

 

Abrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tinha me esquecido desse detalhe.

 

Mas não funcionou também.

 

Estranho porque se trocar o input de HIDDEN para TEXT, funciona numa boa..

 

Não entendi qual é a desse Firefox agora. rs

 

Tem algum outro método pra resgatar valor de campo hidden sem ser por document.getElementeById?

 

Tks!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. só faz um teste pra mim...

 

Faz esse script aki e testa no FF

 

<script>

fucntion Vai()
{
alert(document.getElementById("teste").value);
}
</script>

<input type = "hidden" id = "teste" value = "Olá Mundo!">
<inpu type = "button" value = "Click Me!" onClick = "Vai();">

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... então deixa tudo dentro do include! Não pode? Aí lá você faz direto!

 

var cod1 = document.getElementById('cod').value;
var cod2 = (cod1 == "000")?"":"?cod="+cod1;

Tentaí, pq aqui rolou no FF, IE, CHROME, OPERA....

 

ABrax!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o problema não é do FF... sim da lógica que você está usando...

 

Se você precisa pegar o valor desse campo e utilizar em uma outra página... faça um arquivo .JS separado que pegue esse valor, e utilize esse mesmo .js nas páginas em que precise recuperar o valor do campo...

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

berkowitz,

 

No firefox acusa erro de variável indefinida para cod2.. ou seja, o mesmo erro ainda.

 

--------------------------------------

Darkdemo,

 

Vou implementar isso e retorno com a resposta.

 

--------------------------------------

 

Tks por enquanto pelas dicas!

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.