Foros del Web » Programando para Internet » Javascript »

paso de arrays

Estas en el tema de paso de arrays en el foro de Javascript en Foros del Web. hola a todos como hago para pasar un vector de javascript de una ventana a otra o en su defecto pasar los datos que estan ...
  #1 (permalink)  
Antiguo 24/07/2003, 09:14
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
Pregunta paso de arrays

hola a todos

como hago para pasar un vector de javascript de una ventana a otra o en su defecto pasar los datos que estan dentro de el a otro vector que se encuenta en otra ventana.....
espero que hayan entendido la pregunta....

gracias a quien me pueda colaborar.....

un saludo


  #2 (permalink)  
Antiguo 24/07/2003, 09:17
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Qué sería, de frame a frame?

o abrir una popup y pasar los datos de madre a hija o de hija a madre?
  #3 (permalink)  
Antiguo 24/07/2003, 09:40
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
respuesta a tunait

me sirve de las tres formas: de frame a frame,,, de madre a hija y de hija a madre.....


un saludo
__________________
quien se duerme se lo lleva la corriente.......

  #4 (permalink)  
Antiguo 24/07/2003, 09:53
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
amo a vé....

var pepe = new Array(elementos)

Supongamos que está en un frame de name="arriba" y queremos referenciar al elemento de posición 2 desde el frame de name="abajo"

pues desde "abajo" le pediríamos:


parent.arriba.pepe[2]

Si no fuera una página de frames, pero abrieramos una pop-up y quisieramos sacar ese valor de la posición 2 desde la pop-up le pediríamos

opener.pepe[2]

Pero si el array pepe estuviera en la ventanita pop-up y quisieramos sacar el valor de esa posición 2 desde la ventana madre, y suponiendo que la a pop-up le hubiéramos asigando el name="miVentanitaBonitaYOle" recuperaríamos el dato desde la ventana madre mediante

miVentanitaBonitaYOle.pepe[2]


Se puede complicar más, pero creo que con eso yá te vale
  #5 (permalink)  
Antiguo 24/07/2003, 11:31
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
preguanta a tunait

estando en la ventana pop up utilice el siguente codigo
Código PHP:
for(var i=1i<indicei++){
 
opener.vec_criterio[i]=new criterio (vec_criterio[i].nombre);
}
window.close(); 
pero esto genera un error

dice que
opener.vec_criterio[i] es nulo o no es un objeto.....


no se que sucede hay!!!!!

gracias por cualquier ayuda....

un saludo
  #6 (permalink)  
Antiguo 24/07/2003, 11:34
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Se supone que vec_criterio es un constructor ¿no?
  #7 (permalink)  
Antiguo 24/07/2003, 11:37
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Pon también lo que es vec_criterio y lo que es criterio
  #8 (permalink)  
Antiguo 24/07/2003, 11:43
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
Pregunta respuesta a tunait

tanto en la ventana madre como en la pop up cree dos vectores con el mismo nombre : vec_criterio a el le asigne New Array en ambos lados....
en la ventana pop up
tenia

function criterio(nombre)
{
this.nombre=nombre;
}
al vector que tengo en la pop up le inserte informacion, ya estando lleno el vector de la pop up, atravez del for que te envie anteriormente en el codigo.... trato de pasar la informacion del vector de la pop up al vector de la ventana madre....

espero que hayas comprendido el caso y asi puedas ayudarme....

chao....
__________________
quien se duerme se lo lleva la corriente.......

  #9 (permalink)  
Antiguo 24/07/2003, 11:53
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
me siguen faltando datos para terminar de hacerme a una idea

¿me puedes poner el código que va en la popup y el que va en la opener??
  #10 (permalink)  
Antiguo 24/07/2003, 12:13
Avatar de barba negra  
Fecha de Ingreso: mayo-2003
Ubicación: bogota
Mensajes: 91
Antigüedad: 21 años
Puntos: 0
codigo

codigo
pop up
Código PHP:
<html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
link href="wood.css" rel="stylesheet" type="text/css">
<
script
//Desabilita la Caja de Texto
var indice=1;
vec_criterio= new Array();
function 
Criterio(nombre)
    {
        
this.nombre=nombre;
    }
function 
desabilitar()
    {
        
//if(document.form1.criterio.value=="") 
            
document.form1.criterio.disabled=true;
    }
//Almacena las datos en un Vector    
function almacenar()
    {
        var 
criterio=document.form1.criterio.value;
        if(
document.form1.criterio.value !="")
            {
                
//opener.document.vec_criterio[indice]= new Criterio();
                
vec_criterio[indice]= new Criterio(criterio);
                
document.form1.criterio.value="";
                
indice++;
            }
            else
                {
                    if(
document.form1.criterio.disabled==true)
                        
document.form1.criterio.disabled=false;
                    else    
                        
alert("Digite la norma");
                }
    }
function 
Salir()
    {
        if (
document.form1.criterio.value!="")
            
alert("La Norma no ha sido Guardada");
        else
            {    
                for(var 
i=1i<indicei++){
                    
opener.vec_criterio[i]=new criterio (vec_criterio[i]->nombre);
                    }
                
window.close();    
            }    
    }
        
</script>
</head>

<body bgcolor="#336666">
<form name="form1" method="post" action="">
  <table width="42%" border="1" class="Border" align="center">
    <tr> 
      <td colspan="2" class="Tablerow">INGRESE NUEVO CRITERIO DE DESEMPE&Ntilde;O</td>
    </tr>
    <tr> 
      <td width="35%" class="TableRow">Nombre Criterio</td>
      <td width="65%" class="TableRowContents"><input type="text" name="criterio" id ="criterio" class="BoxNameAncha"></td>
    </tr>
    <tr> 
      <td class="TableRow"><input name="bot_nva_cri" type="button" id="bot_nva_cri" value="Adicionar" class="Buttons" onClick="almacenar()"></td>
      <td class="TableRow"> 
        <input name="bot_can_cri" type="button" id="bot_can_cri" value="Salir" class="Buttons" onClick="Salir()">
      </td>
    </tr>
  </table>
</form>
 <iframe name="calculoFrame" src="" height="0" width="0"></iframe>
 <script>desabilitar();</script>
</body>
</html> 
y el da la opener
es
Código PHP:
<SCRIPT LANGUAGE='JavaScript'
vec_criterio= new Array(); 
function 
ventana(nombreanchoalto)
   {
   var 
dat 'width=' ancho ',height=' alto',left=0,top=0,scrollbars=no,resize=no,menubar=yes,toolbar=no,status=no';
window.open(nombre,'',dat);
}
</SCRIPT>
<body bgcolor="#336666">
<form action="" method="post" name="forma1" id="forma1">
<input name="bot_nva_crit" type="button" class="Buttons" id="bot_nva_crit" value="Nuevo Criterio" onClick="ventana('nvocriterio.php',300,300)">
</form>
</body> 
chao
  #11 (permalink)  
Antiguo 24/07/2003, 12:46
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Lo estoy mirando eh, que no me olvido
  #12 (permalink)  
Antiguo 24/07/2003, 13:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueno yá está, a ver si soy capaz de indicarte los cambios que he hecho:

la opener sigue igual

La popup:

Código PHP:
<script
//Desabilita la Caja de Texto
var indice=1;
vec_criterio= new Array();
function 
Criterio(nombre)
    {
        
this.nombre=nombre;
    }
function 
desabilitar()
    {
        
//if(document.form1.criterio.value=="") 
            
document.form1.criterio.disabled=true;
    }
//Almacena las datos en un Vector    
function almacenar()
    {
        var 
criterio=document.form1.criterio.value;
        if(
document.form1.criterio.value !="")
            {
                
opener.vec_criterio[indice]= new Criterio(criterio);//aquí simplemente le pido que le añada al vetor de la opener
                
document.form1.criterio.value="";
                
indice++;
            }
            else
                {
                    if(
document.form1.criterio.disabled==true)
                        
document.form1.criterio.disabled=false;
                    else    
                        
alert("Digite la norma");
                }
    }
function 
Salir()
    {
        if (
document.form1.criterio.value!="")
            
alert("La Norma no ha sido Guardada");
        else
            {    
//aquí he quitado el bucle pasando los valores a la opener porque yá no es necesario, dado que yá los tiene.
window.close(opener.vec_criterio[1]);   //no sé por qué le pasas argumentos
//pero si no recuerdo mal el método close() no los usa
            
}    
    }
        
</script> 
Además tenías un error de sintaxis que no recuerdo dónde estaba, algo que ponía -> o algo así

Bueno a mi me funcionó con estos cambios, dime que tal te va a tí
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.