Ir para conteúdo

POWERED BY:

Arquivado

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

sylverdale

[JavaScript] Manipular Vetor vindo de outro frame

Recommended Posts

opa

 

seguinte, tenho q fazer um site com 2 frames, no de cima o usuario cadastra algumas informações e no debaixo e ele imprime essas informações através de um document.write por exemplo

 

o procedimento eh simples, submeto as informações do form, cadastro-as em um vetor, mando esse vetor pro outro frame através de uma função e lah desse outro frame eu manipulo as informações

 

o problema eh q quando eu recebo esse vetor no frame, eu soh consigo manipular ele dentro da função (o q eh ruim, jah q eu n consigo usar document.write dentro da função), fora da função o valor do vetor (q eh global) eh simplesmente vazio....

 

vou botar o código pra vcs entenderem melhor, e no código eu botei alerts mostrando os processos do q está acontecendo passo-a-passo

 

index.htm

 

CODE
<script language="JavaScript">

</script>

<html>

<frameset rows="50,50">

<frame name="formulario" src="formulario.htm">

<frame name="grid" src="grid.htm">

</frameset>

</html>

 

formulario.htm

 

CODE
<script language="JavaScript">

var vetor_temp = new Array();

 

 

 

function cadastra(){

var flag = document.getElementById("flag").value;

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

var desc = document.getElementById("desc").value;

var cor = document.getElementById("cor").value;

var sexo = document.getElementById("sexo").value;

if (flag){

alert("vou passar os valores pro vetor");

vetor_temp[0] = cod;

vetor_temp[1] = desc;

vetor_temp[2] = cor;

vetor_temp[3] = sexo;

alert("passei "+vetor_temp);

parent.frames['grid'].transfere(vetor_temp); //chamei a função do frame GRID passando como parametro o vetor_temp

}

}

</script>

<table>

<form name="form" id="form" method="get" target="grid" action="grid.htm">

<br><br><br>

<th>

<tr>

<td> Código </td>

<td> <input type="text" size="2" maxlength="2" name="cod" id="cod"> </td>

</tr>

<tr>

<td> Descrição </td>

<td><input type="text" size="25" maxlength="50" name="desc" id="desc"> </td>

</tr>

<tr>

<td> Cor </td>

<td><select name="cor" id="cor">

<option value="amarelo"> Amarelo </option>

<option value="vermelho"> Vermelho </option>

<option value="azul"> Azul </option>

<option value="verde"> Verde </option>

<option value="preto"> Preto </option>

 

</select></td>

</tr>

<tr>

<td> Sexo </td>

<td><input type="radio" name="sexo" id="sexo" value="m" checked> Masculino <input type="radio" name="sexo" id="sexo" value="f"> Feminino </td>

</tr>

<tr>

<td> <input type="reset" value="Reset"> </td>

<td> <input type="submit" value="OK" onClick="cadastra();"> </td>

<input type="hidden" name="flag" id="flag" value="1">

</th>

</form>

</table>

 

grid.htm

 

CODE
<head>

<script language="JavaScript">

var vetor;

function transfere(vetor_temp){

alert("abri a função");

this.vetor = vetor_temp;

alert("Vetor DENTRO da função = "+vetor);

}

 

alert("Vetor FORA da Função = "+vetor);

 

 

</script>

</head>

<body>

 

</body>

 

se alguém puder dar uma mão ae, eu ficaria agradecido, vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

function transfere(vetor_temp){	

alert("abri a função");

window.vetor = vetor_temp; //<-- troca isso aqui

alert("Vetor DENTRO da função = "+vetor);

}

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.