Foros del Web » Programando para Internet » Javascript »

Como envio datos a otro frame desde una lista/menu dinamico...

Estas en el tema de Como envio datos a otro frame desde una lista/menu dinamico... en el foro de Javascript en Foros del Web. Hola Mi pregunta es esta: Como envio datos a otro frame desde una lista/menu que se crea a partir de los datos de la base ...
  #1 (permalink)  
Antiguo 11/08/2005, 14:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 7 meses
Puntos: 0
Como envio datos a otro frame desde una lista/menu dinamico...

Hola
Mi pregunta es esta:

Como envio datos a otro frame desde una lista/menu que se crea a partir de los datos de la base de datos???

De antemano gracias
  #2 (permalink)  
Antiguo 11/08/2005, 15:12
 
Fecha de Ingreso: enero-2004
Mensajes: 71
Antigüedad: 20 años, 3 meses
Puntos: 0
Como los envias???

Bueno amigo en realidad no entindo muy bien tu pregunta pero si lo que quieres es que al momento de hacer un evento sobre la lista/menu, ejemplo en onChange vas a una función javascript que recoja ese valor especifico.
ejemplo:

indice=document.NombreFormulario.NombreListaMenu.o ptions.selectedIndex;
valor=document.NombreFormulario.NombreListaMenu.op tions[indice].value;


y lo envies al frame que quieres, si necesitas saber como manejar los frame, necesariamente si tienes una pagina dividida en frames a cada uno debes colocarle un nombre, esto se hace en la pgina que los contiene.

y para hacerle referencia a el frame que necesitas seria:

parent.NombreFrame.document.(aqui lo que quieras hacer si agrear el valor que capturaste del combo a otro objeto en este frame o lo que quieras).

Bueno no se si respondi a tu pregunta cualquier cosa estamos a la orden
  #3 (permalink)  
Antiguo 11/08/2005, 16:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 32
Antigüedad: 20 años, 7 meses
Puntos: 0
Datos a frame...

Gracias por contestarme druidasm.

Me lo podrian explicar mas??

Como se hace en php??


Gracias
  #4 (permalink)  
Antiguo 12/08/2005, 05:25
 
Fecha de Ingreso: enero-2004
Mensajes: 71
Antigüedad: 20 años, 3 meses
Puntos: 0
En realidad no entiendo bien lo que quieres hacer, si explicas un poco es probable que te ayudamos a encontrar la solución.

Si lo quieres es enviar los datos a una pagina php lo que debes hacer es aplicar un submit a esta pagina pero si deseas enviar los datos que tambien estan en otro frame, puedes hacer la siguiente practica no creo que sea le mejor pero es la que se y que actualmente utilizo, creas campos ocultos en el formulario del frame donde tienes el boton submit y en guardas en estos los valores de los campos del otro frame de la siguiente manera:

document.NombreFormulario.NombreObjeto.value=docum ent.NombreFormulario.NombreListaMenu.options[indice].value;

Ahora si lo que quieres es que viniendo de una pagina php, te muestre los datos guardados en una DB, y ademas estan separados en distintos frame, una solución sería pasar el id del registro por $_GET, y hacer la busqueda en todos los frames que tiene tu pagina y asi mostrar los campos que quieres.

Aun me sigue la duda si respondi o no tu pregunta, espero te sirva y si puedes ser mas especifico mejor
  #5 (permalink)  
Antiguo 12/08/2005, 05:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Sencillamente .. eso no se puede hacer en PHP .. recuerda que PHP se ejecuta del "lado del servidor" y en tu caso particular ese "evento" (que cambia el valor de un elemento de tu formulario) se produce en tu navegador .. sin haber enviado los datos al servidor .. además que el juego de frames que uses .. su hubicación y propiedades es sólo el "cliente" quien sabe y conoce de ellos (no PHP en el servidor).

Si te fijas bien .. con PHP lo que haces es generar una página "HTML" estática en definitiva tras realizar el proceso PHP que genera esas opciones de tu lista de forma dinámica. (fijate en el código fuente que generas en tu navegador) por ende .. una vez en el "cliente" esa página generada .. toma el ejemplo como si lo hubieras hecho en HTML sólo y encontraras soluciones .. en tu caso la de usar javascript.

Muevo tu pregunta al foro de Javascript para que te orienten mejor al respecto.

Un saludo,
  #6 (permalink)  
Antiguo 12/08/2005, 08:23
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina
Mensajes: 49
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola! yo estoy buscando exactamente lo mismo que Jaime0404...se que sólo se puede hacer en javascript por el tema de que el proceso se hace del lado del cliente.
Yo ya tengo armado mi combo á partir de una bd y cuando elijo una opción me abre una nueva página en el segundo frame, lo único que no me está llegando la variable id_pepe...no debo haber armado bien el pasaje de la variable...bueno, grac¡as de antemano!

el código es:

<?
include('conexion_base.php');
?>
<html>
<head>
<script language="Javascript">
function abrir(pagina,frame) {
parent.frame2.open(pagina,frame,'params');
}
</script>
</head>
<body>

<select size='12' class='browse_list' onchange="abrir('pepe.php?id_pepe=this.value','fra me2');">
<?
$query = mysql_query("SELECT id_pepe, pepe FROM Pepes");
while(list($id_pepe, $pepe)=mysql_fetch_row($query)) {
echo " <option value='$id_pepe'>$pepe</option>";
}
?>
</select>
</body>
</html>
__________________
"Sólo sé que no sé nada..." - Sócrates - (un adelantado...!)
  #7 (permalink)  
Antiguo 17/06/2008, 11:23
 
Fecha de Ingreso: junio-2008
Mensajes: 12
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Como envio datos a otro frame desde una lista/menu dinamico...

Buenas recien me inicio en esto, necesito una ayudita, espero me ayuden, es simple creo y se refiere a este tema ya iniciado. mi codigo (parte de él) es el siguiente:


Mi paginita por frame.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
	<title>Fontanarrosa</title>
</head>

<frameset border="5" framespacing="3" rows="20%, 65%, 15%">
	<frame Src="cabecera.html">
	<frameset cols="25%, 75%">
		<frame Src="indice.html">
		<frame Src="cuerpo.html" scrolling="auto">
		</frameset>
	<frame Src="ayuda.html">


</frameset>
</html>
en el Frame Indice hay esto:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
  <head>
    <LINK
      REL="stylesheet"
      HREF="estilo.css"
      TYPE="text/css"> 
	<title>Indice</title>
</head>

<body onload="Genera_lista();ocultar();" bgcolor="Gray">


<script language="Javascript">
function Seleccionar(idCbo)
{
  var oCbo = window.document.getElementById(idCbo);
  ocultar();
	if(oCbo.value != 99)
	 {
  		oDivVisible = document.getElementById("Ejer" + oCbo.value);
  		oDivVisible.style.display = "block";
		
		
	  }
  
} 
   
function ocultar()
{
  aDivs=document.getElementsByTagName("div");
  for(var i=0; i < aDivs.length; i++)
   {
     if(aDivs[i].id.indexOf("ejer")!=-1)
	  {
	    aDivs[i].style.display="none";
	  }
   }
}


function Genera_lista()
{
  oSelect = document.createElement('SELECT');
  oSelect.id = "combo";
  op = document.createElement("OPTION");	
  op.value = '99';
  op.text = 'Seleccione una opción';
  op.selected = true;
  oSelect .options[0] = op;
  aDivs=document.getElementsByTagName("div");
  var cont=1;
  for(var i=0; i < aDivs.length; i++)
   {
     if(aDivs[i].id.indexOf("ejer")!=-1)
	  {
		sDescrip = aDivs[i].Descrip;
		sNumero = aDivs[i].id.substr(4,2);
		
		op = document.createElement("OPTION");	
		op.value = sNumero;
		op.text = sDescrip;
		oSelect.options[cont] = op;
		cont++;
	  }
   }
  
  document.body.appendChild(oSelect );
  oSelect.attachEvent('onchange', function() {Seleccionar('combo');});
}  

function transponer()
 {
 alert ("Llamó bien a la funcion");
	oTable=document.getelEmentById("Tabla");
	iCantFilas= oTabla.rows.length;
	iCantCols= oTable.rows[0].cols.length;
	oTabla2=document.createElement("TABLE");
	oTabla2.id= "Tabla2";
	for (i=0; i<iCantcols; i++)
		{
		oFila=oTabla2.insertRow();
		for (j=0; j<iCantFilas; j++)
			{oCola=oFila2.insertcell();}
		}
 
 
 }
/*Funcion sin ser usada*/
function crea_tabla()
 {
   oTable = document.createElement("Table");
   oTable.id="tabla";
   oTable.border ="5"
   
   oTBody = document.createElement('TBODY');
   
   oTR = document.createElement('TR');
   oTR.align ='Center';
   oTR.bgColor = 'red';

   
   oTD = document.createElement('TD');
   oTD.innerText  ='Cabecera que ocupa tres columnas';

   
   oTR.appendChild(oTD);
   oTBody.appendChild(oTR);
   oTable.appendChild(oTBody);

   document.body.appendChild(oTable );
   
 }  
   
   
   
     	
</script>
<!-- Ejercicio 1 completo -->
<div id="ejer01" Descrip = "Listas UL y OL" style="display: block">


<!-- Sombra ejercicio 1 -->
<div class="caja2"></div>

<!-- Cuerpo ejercicio 1 -->
<div class="caja">
<div 
class="titulo";>
Temario propuesto
</div>
<hr Size = "4" Width = "1000" Align = "Left" color="Black" NoShade>
<div
  class="texto">
   <ul>
      <li>Formatos gráficos
      <li>Mapas de imágenes
      <li>Editores HTML
   <ul>
     <li> HotDog
     <li> FrontPage
   </ul>
       <li>Otras <span class="negrita">herramientas</span>   
   </ul> 
   Bibliografía sugerida (Por orden de importancia)
   <ol>
     <li>HTML básico
     <li>FrontPage a fondo
  </ol>
 </div> 
</div>
</div>
<!-- Fin ejercicio 1 -->


<!-- Ejercicio 2 completo -->

<form>
    <!-- Ejercicio 2-c completo -->
	
<!-- Ejercicio 2-b completo -->
<div id="ejer02" Descrip = "Links" style="display: block">


<!--Sombra ejercicio 2 -->
<div class="caja2"></div>

<!-- Cuerpo ejercicio 2 -->
<div class="caja">
    <div
         class="titulo";>
      Links a Buscadores
    </div>
   <br>
   <hr Size="1"  Width="80%"  Align="Left"  Color="#ADD8E6" NoShade>
   <br>
   <div
         class="enlaces";>
         <!-- <ul> -->
             <li><span class="spanLinks"><a href="http://www.yahoo.com.ar">
                         Yahoo </a></Span>
             <li><a href="http://www.altavista.com">
                        Altavista
                    </a>     
             <li><a href="http://www.webcrawler.com">
                        Webcrawler
                    </a>    
         <!-- </ul> -->
    </div>  
    <br>
     <hr Size="2"  Width="1000"  Align="Left"  Color="Black" NoShade>
     <br>
     Contactar con el autor en <a href="mailto:[email protected]"> e-Mail </a>
</div>	  
</div>

<div id="ejer03" Descrip = "Tabla" style="display: block">

<!--Sombra ejercicio 2 -->
<div class="caja2"></div>

<!-- Cuerpo ejercicio 2 -->
<div class="caja">
<Table
Border=1
CellPadding = 2
Width = “60%“
Height = “60%“>
<Caption ColSpan="3" class="negrita"  align="top">
Ejemplo de Tabla  <Img 
Src = "C:\Users\Matias\Desktop\F_A_C_U_L_T_A_D\HTTP\2008\ico.jpg"
Alt ="Notas de Linux"
</Caption>

<TR
	<TH ColSpan = 3> 
	Ejemplo de Tabla 
	</TH>
</TR>



<TR bordercolor="Blue" bgcolor="Red" aling="center">
	<TH> Alumno </TH> <TH>Nota </TH> <TH> Regular </TH>
</TR>

<TR>
	<TD> Vieira Matias </TD> <TD align="center"> 8 </TD> <TD> Si </TD>
</TR>

<TR>
	<TD> Amarillo </TD> <TD aling="center"> 9 </TD> <TD> No </TD>
</TR>

</Table>



</div>	  
</div>
</div>

<div id="ejer05" Descrip = "Transponer" style="display: block">

<div class="caja6"></div>
<div class="caja5">
<div class="tituloblanco">
<Table id="Tabla"
Border=1
CellPadding = 2
Width = “60%“
Height = “60%“>
<Caption class="negrita"  align="center">
Ejemplo de Tabla  <Img 
Src = "ico.jpg"
Alt ="Notas de Linux"
</Caption>
<TR bordercolor="Red" bgcolor="Blue" aling="center">
<TH> Alumno </TH> <TH>Nota </TH> <TH> Regular </TH>
</TR>
<TR>
<TD> Vieira Matias </TD> <TD align="center"> 8 </TD> <TD> Si </TD>
</TR>
<TR>
<TD> Amarillo </TD> <TD align="center"> 9 </TD> <TD> No </TD>
</TR>
</Table>
</div>
<td><tr>   </tr></td>


<input type="button" value="Transponer" onclick="transponer();">
</div>
</div>


</form>


</body>
</html>
Pues en la funcion "function Seleccionar(idCbo)" muestro una Div u otra segun se seleccione en combo. pero ahora lo quiero hacer con Frame y necesito abrir estas div en el Frame "cuerpo.html" nombre: Cuerpo.

tambien tengo cada div cargada en un html distinto, div1.html, div2.html, etc... a modo que lo que encontre es abrir un html en una frame dstinta con Tarjet= pero solo encontre este metodo.

<a href="pagina.html" target="contenido">Contenido</a>

que me permite simplemente mediante Clicks en un texto con referencia y no es dinamico.

Alguien sabe que puedo agregar o que se usa para poder tomar el valor que tengo dentro de "oDivVisible", que es la conjuncion de Ejer + el idCbo del combo.

De mi idea me resulta de unir "Div" + "el indice" + ".html" y asi abrir este en una frame con tarjet, pero solo se hacer con un click en un texto y no proviniendo la accion desde un combo.
  #8 (permalink)  
Antiguo 17/06/2008, 11:48
 
Fecha de Ingreso: junio-2008
Mensajes: 12
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Como envio datos a otro frame desde una lista/menu dinamico...

me respondo a mi mismo, creo que faltaba poco para darme cuenta, en verdad mientras describia mi problema y lo acotaba se me dio una idea. mi respuesta seria que faltaba solo

Código:
parent.Cuerpo.location="div"+ oCbo.value+".html"
quedaria asi:

Código:
function Seleccionar(idCbo)
{
  var oCbo = window.document.getElementById(idCbo);
  ocultar();
  parent.Cuerpo.location="cuerpo.html";
	if(oCbo.value != 99)
	 {
  		oDivVisible = document.getElementById("Ejer" + oCbo.value);
  		//oDivVisible.style.display = "block";
		parent.Cuerpo.location="div"+ oCbo.value+".html"
		
	  }
  
}
Salu2
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 07:46.