Foros del Web » Programando para Internet » Javascript »

Frame

Estas en el tema de Frame en el foro de Javascript en Foros del Web. como se pasa un valor que ingreso en una caja de texto a un frame de la misma pagina. comunmente seria: <INPUT TYPE="TEXT" SIZE=30 NAME="texto"> ...
  #1 (permalink)  
Antiguo 13/06/2007, 07:50
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Frame

como se pasa un valor que ingreso en una caja de texto a un frame de la misma pagina.

comunmente seria:
<INPUT TYPE="TEXT" SIZE=30 NAME="texto">
--------------------------
variable = Request.Form("texto")

pero esto no funciona de un frame a otro

¿como se hace?


elkra!
  #2 (permalink)  
Antiguo 13/06/2007, 08:22
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años
Puntos: 7
Re: Frame

Esto es JavaScript pero bueno...

Con "a un frame de la misma pagina", ¿a que te refieres? ¿que es un iframe? De todas formas, para acceder a un frame desde otro frame debes hacer referencia al padre de ambos:

Por ejemplo:

index.asp es una página que hace referencia a un conjunto de frames:
- frmMenu ---------- menu.asp
- frmBarraSup ------ info.asp
- frmPrincipal ------- inicio.asp

Si estamos en inicio.asp y queremos tomar un valor que hay en menu.asp, lo hariamos asi:

var valorMenu = parent.frames["frmMenu"].formulario.campo.value
o
var valorMenu = parent.frames["frmMenu"].getEmelentById("campo").value

Si, en cambio, intentamos acceder a un IFRAME dentro de inicio.asp, pues lo mismo pero sin subir un nivel (el parent):


var valorMenu = document.frames["elIframe"].formulario.campo.value
o
var valorMenu = document.frames["elIframe"].getEmelentById("campo").value



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 13/06/2007, 08:25
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 2 meses
Puntos: 22
Re: Frame

yo creeria que es mas facil hacerlo sin javascript usando php y enviando los datosde un marco a otro a travez del form target= pues es mi humilde opicion. xD
  #4 (permalink)  
Antiguo 13/06/2007, 08:38
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años
Puntos: 7
Re: Frame

¿php? pero si tamos en asp. . De todas formas, es igual. Tienes que usar javascript:

Supongamos que se refiere a un iframe:


<INPUT TYPE="TEXT" SIZE=30 NAME="texto" ID="texto" />
<input type="button" value="Pulsame" onClick="document.getElementById('miframe').src='m ipagina.asp?texto='+document.getElementById('texto ').value;" />
<iframe src="mipagina.asp" id="miframe"></iframe>
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 13/06/2007, 10:37
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Frame

gracias tammander por tu ayuda!

si, me temia que no se iba a poder con solo asp.

Con "a un frame de la misma pagina", ¿a que te refieres?

quiero decir que tengo una pagina con 2 frame, en 1 tengo una caja de texto donde quiero ingresar una frase y poderla mostrar en el otro frame.

¿que es un iframe?
me estas preguntando q es un Iframe? no se, soy muy nuevo en esto.

si tengo un padre default.asp
<FRAMESET rows="*,70">
<FRAME SRC="ver.asp">
<FRAME SRC="escribir.asp" target="_self">

¿cual de las 4 opciones me conviene?
yo elegi esta:

var valorMenu = parent.frames["frmMenu"].getEmelentById("campo").value

en cual reemplazo asi en ver.asp:
var valorMenu = parent.frames["escribir.asp"].getEmelentById("texto").value
¿esto esta bien?

lo que no entiendo es "var valorMenu"
parecen 2 variables :S

¿como muestro esa variable?
response.write var valorMenu ... <-- asi va dar error, que
  #6 (permalink)  
Antiguo 13/06/2007, 12:44
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años
Puntos: 7
Re: Frame

Hola elkra :)

Vayamos por partes

Cita:
Iniciado por elkra Ver Mensaje
Con "a un frame de la misma pagina", ¿a que te refieres?
No se. esa frase es tuya :D No sabia a qué te referias.

Cita:
Iniciado por elkra Ver Mensaje

¿que es un iframe?
Un iframe es un frame (marco) incrustado en una página web.

Cita:
Iniciado por elkra Ver Mensaje

quiero decir que tengo una pagina con 2 frame, en 1 tengo una caja de texto donde quiero ingresar una frase y poderla mostrar en el otro frame.

si tengo un padre default.asp
<FRAMESET rows="*,70">
<FRAME SRC="ver.asp">
<FRAME SRC="escribir.asp" target="_self">

¿cual de las 4 opciones me conviene?
yo elegi esta:

var valorMenu = parent.frames["frmMenu"].getEmelentById("campo").value

en cual reemplazo asi en ver.asp:
var valorMenu = parent.frames["escribir.asp"].getEmelentById("texto").value
¿esto esta bien?

lo que no entiendo es "var valorMenu"
parecen 2 variables :S

¿como muestro esa variable?
response.write var valorMenu ... <-- asi va dar error, que
mmmm Olvida lo que te he dicho sobre javascript. Vayamos a lo más básico y efectivo.

en default.asp, deberias poner un id o name a cada frameset. Algo asi:

Código:
<frameset rows="*,*"" frameborder="NO" border="0" framespacing="0">
  <frame src="escribir.asp" name="topFrame" id="topFrame" title="topFrame" />
  <frame src="ver.asp" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>
<noframes>
<body>
</body>
</noframes>
Fijate en las palabras en negrita porque las usaremos a continuacion.

En escribir.asp, pondriamos un formulario para que la gente pueda escribir algo. Por ejemplo:

Código:
<form id="form1" name="form1" method="post" action="ver.asp" target="mainFrame">
  <label for="textfield">Escribe algo</label>
  <input type="text" name="textfield" id="textfield" />
  <input type="submit" name="Submit" value="Enviar" />
</form>
¿Ves el target del formulario? Este atributo asigna donde va a ir el resultado del formulario cuando se pulse el boton de enviar (submit) como ves, es el nombre que asignamos al frame donde esta ver.asp

Ahora nos queda la madre del cordero

Nos falta ver.asp que si contiene código ASP:

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<%
response.Write(request.Form("textfield"))
%>


</body>
</html>

La colección Form del objeto request contiene todas las variables que provienen del formulario que hemos enviado con el método POST. Si lo hubieramos hecho con el método GET tendriamos que tomar estos datos con la colección queryString del mismo objeto:

request.queryString("textfield")

Si te fijas, "textfield" es el nombre del campo del formulario.

Prueba y nos cuentas


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #7 (permalink)  
Antiguo 13/06/2007, 13:48
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 18 años, 2 meses
Puntos: 22
Re: Frame

Perdon por mi error de PHP, pero aun asi creo que se deberia hacer en ASP sin necesidad de usar javascript. me parece mas sencillo y creo que esa es una solucion digna del foro de ASP jajajaja. xD
  #8 (permalink)  
Antiguo 14/06/2007, 09:57
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Frame

hola tammander, te quejas de mi frase "un frame de la misma pagina" y vos me decis "Ahora nos queda la madre del cordero" ¿que nos queda? --> una oveja ¿? jajaja..

gracias tammander muchas gracias!
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 18:43.