Ir para conteúdo

POWERED BY:

Arquivado

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

RafaelRSantos

Variável não armazena valor

Recommended Posts

Caros colegas estou ajudando um colega de trabalho com um site onde um select chama uma frame através de um select, ao clicar no select invoca a função e esta função abre uma frame, neste frame que se abri há outro select em que o usuário deve clicar em uma das opções que abrirá outro frame. Resumindo há dois frames, mas para a abertura do ultimo frame é necessário um conjunto de valores do primeiro select e do segundo select.

Pensei então declarar uma variável e esta variável receber a primeira opção e na chamada da segunda função realizar um IF com a junção do argumento e a variável que recebe o valor do primeiro select.

Quando realizo o processo a variável aparece como undefined.

Segue os arquivos resumidos:

 

INDEX

 

<html>
<head>
 <title>Index</title>
 <script type="text/javascript">
  var pagina;
  var tipo_pagina;

  function openInIFrame(url){	    
   if(url == 1){
    pagina = "teste1.html";
    document.getElementById('frame_pesquisa').src = pagina;
    tipo_pagina = url;
   }
    alert("Tipo de pagina = " + tipo_pagina);
  }

  function openInIFrame2(url){
   alert("Função 2: Tipode de pagina = " + tipo_pagina);
   if(url == 1 && tipo_pagina == 1){
   pagina = "t1.html";
   document.getElementById('frame_conteudo').src = pagina;
   }
  }
 </script>
</head>
<body>
 <select multiple onChange="openInIFrame(this.value)">
  <option value="1">Distribuição de gastos por Natureza de despesa</option>
 </select>
 <br />
 <iframe id="frame_pesquisa" width="500px"></iframe>
 <br />
 <iframe id="frame_conteudo" width="500px"></iframe>
</body>
</html>

 

Teste1

 

<html>
<head>
<title>Teste1</title>
 <script type="text/javascript">
  var pagina;
  var tipo_pagina;

  function openInIFrame(url){	    
   if(url == 1){
    pagina = "teste1.html";
    document.getElementById('frame_pesquisa').src = pagina;
    tipo_pagina = url;
   }
    alert("Tipo de pagina = " + tipo_pagina);
  }

  function openInIFrame2(url){
   alert("Função 2: Tipode de pagina = " + tipo_pagina);
   if(url == 1 && tipo_pagina == 1){
   pagina = "t1.html";
   document.getElementById('frame_conteudo').src = pagina;
   }
  }
 </script>
</head>
<body>
 <select multiple onChange="openInIFrame2(this.value);">
  <option value="1">Ministério da Agricultura, Pecuária e Abastecimento</option>
 </select>
</body>
</html>

 

T1

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>t1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<h1>Distribuição de gastos por Natureza de despesa</h1><br />
<h3>Ministério da Agricultura, Pecuária e Abastecimento</h3>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo codigo que voce mandou. Não houve nenhuma passada de valor, voce só declarou. Os metodos que passam valore de um para o outro e os get, post , ajax e o outros. Esse frame é uma página? ou algum jquery?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daniel, o frame se refere a uma página html normal.

Eu sou iniciante em javascript.

Os metodos que passam valore de um para o outro e os get, post , ajax e o outros.

Como poderia realizar a passagem de valores, pois eu tinha visto que este modo de atribuição funcionava.

...
tipo_pagina = url;
...

 

Poderia me ajudar?

 

Grato!

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.