Foros del Web » Programando para Internet » Javascript »

Recuperar variable desde Frame en Firefox

Estas en el tema de Recuperar variable desde Frame en Firefox en el foro de Javascript en Foros del Web. Hola, Defino en una página de frames una contraseña en un formulario. Desde uno de los frames la intento recuperar definiéndola en el script como ...
  #1 (permalink)  
Antiguo 09/11/2006, 04:47
 
Fecha de Ingreso: diciembre-2005
Mensajes: 11
Antigüedad: 18 años, 4 meses
Puntos: 0
Recuperar variable desde Frame en Firefox

Hola,

Defino en una página de frames una contraseña en un formulario.

Desde uno de los frames la intento recuperar definiéndola en el script como

<SCRIPT Language="javascript">

var contras=top.document.Form1.contrasenya.value;
</SCRIPT>

Luego la introduzco como value de un campo en un form del frame, para postarla.

En IExplorer me funciona; en Fiefox NO.

¿Alguien tiene problemas parecidos o sabe cómo solucionarlos? Gracias!

Marta
  #2 (permalink)  
Antiguo 09/11/2006, 05:08
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Hola Marta,

Lee este artículo:

http://www.programacion.com/html/articulo/tw_pasovar1

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #3 (permalink)  
Antiguo 09/11/2006, 05:52
 
Fecha de Ingreso: diciembre-2005
Mensajes: 11
Antigüedad: 18 años, 4 meses
Puntos: 0
Hola, creo que no me sirve lo que comentas, ya que no paso por parámetros una variable hacia una URL.

Desde mi página, con un post de un formulario, paso varios values de campos. Uno de ellos lo relleno previamente en un script:

var contras=top.document.Form1.contrasenya.value;

Mi intención es que contras (definida en un frame concreto) tenga el mismo valor del campo de formulario correspondiente definido en la página general de frames. No sé si me explico del todo.

¿Sí?

Un saludo...Estoy un poco desesperada con esto, tú. No sé qué pasa, porque en el IE funciona.
  #4 (permalink)  
Antiguo 09/11/2006, 12:50
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Te entiendo... ¿Has probado con el NetScape?

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #5 (permalink)  
Antiguo 09/11/2006, 13:23
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola newlayla

Prueba con:

var contras=top.nombreFrame.document.Form1.contrasenya .value;

Saludos,
  #6 (permalink)  
Antiguo 10/11/2006, 05:10
 
Fecha de Ingreso: diciembre-2005
Mensajes: 11
Antigüedad: 18 años, 4 meses
Puntos: 0
Hola Javier,

Precisamente ahí está el quit; es desde un frame (sup.htm) desde donde quiero recuperar el campo del formulario, pero éste está definido en la página frames.htm, la "madre" de todos los frames, por decirlo así.

Pensaba que con el TOP ya hacía referencia a esa "madre"...

¿Qué opinas?

Gracias

Marta
  #7 (permalink)  
Antiguo 10/11/2006, 07:03
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

¿está definido en la página frames.htm? No entiendo ¿Puedes poner el código de frames.htm?

Saludos,
  #8 (permalink)  
Antiguo 10/11/2006, 07:19
 
Fecha de Ingreso: abril-2005
Mensajes: 17
Antigüedad: 19 años
Puntos: 0
si, la verdad que tampoco entiendo bien.

Sería bueno que pongas el código de frames.htm y de sup.htm.
  #9 (permalink)  
Antiguo 13/11/2006, 02:01
 
Fecha de Ingreso: diciembre-2005
Mensajes: 11
Antigüedad: 18 años, 4 meses
Puntos: 0
Hola, os pongo el código de frames.asp y de sup.asp, ok?
No son htm, sino asp, pero sencillos.

A ver qué, ojalá alguien esté inspirado esta mañana de lunes...

FRAMES.ASP

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<title>La Xarxa - Eina de comunicació corporativa</title>
<%'*********** Esta funcion rellena el IdXarxa en el formulario y lo envia%>
<SCRIPT Language="javascript">

function CargaXarxa(IdXarxa)
{
document.Form1.IdXarxa.value=IdXarxa;
document.Form1.submit();
}
</SCRIPT>
</head>
<%

If not (Request("contrasenya")="yeyepu") then
response.write "Accés denegat<br>"
else

'*********** Este es el formulario que postará la password%>

<form name="Form1" method="POST" action="xarxa.asp" target="blank">
<input type="hidden" name="contrasenya" size="10" value=<%="'" & Request("contrasenya") & "'"%>>
<input type="hidden" name="IdXarxa" value="" size="10">
</form>


<frameset rows="30%,*">
<frame src="sup.asp" scrolling="auto" border=0 frameborder=0 marginwidth="0" marginheight="0" name="superior" target="principal">
<frameset cols="26%,*">
<frame src="izquierda.asp" scrolling="auto" border=0 frameborder=0 marginwidth="0" marginheight="0" name="esquerre" target="principal">
<frame src="principal.asp" resizable="yes" scrolling="auto" border=0 frameborder=0 marginwidth="0" marginheight="0" name="principal" target="principal">
</frameset>
</frameset>
<%end if
%>

<noframes>
<body>

<p>Aquesta plana utilitza frames, i el seu navegador no els suporta.</p>

</body>
</noframes>

</html>

-----------------------------------------

SUP.ASP

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<title>La Xarxa</title>
<base target="principal">
<%'*********** Esta funcion rellena el IdXarxa en el formulario y lo envia%>
<script languaje="javascript">

var contras=top.document.Form1.contrasenya.value;
function CargaXarxa(IdXarxa,mot)

{
document.Form1.IdXarxa.value=IdXarxa;
document.Form1.contrasenya.value=contras;
document.Form1.paraula.value=mot;
document.Form1.submit();
}
</SCRIPT>
</head>
<%

Dim rs
Dim SQL

Set DataConn = Server.CreateObject("ADODB.Connection")
DataConn.ConnectionTimeout = 15
DataConn.CommandTimeout = 30
DataConn.Open "dsn=dsnXarxa"
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM Xarxes ORDER BY IdXarxa DESC"
cmdTemp.CommandText = SQL
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = DataConn
rs.Open cmdTemp, , 1, 3

' ejecución de la consulta

if rs.recordcount>0 then

rs.movefirst

'*********** Este es el formulario tiene cargada la password y un espacio para el IdXarxa%>

<form name="Form1" method="POST" action="xarxa.asp" target="blank">
<input type="hidden" name="contrasenya" value="" size="10">
<input type="hidden" name="IdXarxa" value="" size="10">
<input type="hidden" name="paraula" value="" size="40">
</form>


<body bgcolor="#FFFFE6">

<center>
<table border="0" cellspacing="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
<tr>
<td bgcolor="#FFB51A">
<p align="left">
&nbsp;

<img border="0" src="logo_small_taronja.gif" align="middle"><font size="2" color="#FFFFFF" face="MS Sans Serif, Arial"><br>
&nbsp;</font>&nbsp;
<font size="1" color="#295300" face="MS Sans Serif, Arial">Eina de comunicació directiva de la Corporació Sanitària Parc Taulí</font></td>
<td bgcolor="#FFB51A" width="30%" height="100">

<p align="center">

<img border="0" src="pasti_logo_taronja.gif" align="middle"><img border="0" src="Logo_20anys_OK_taronja_small2.jpg"></td>
</tr>
<tr>
<td bgcolor="#FFFFE6" colspan="2" height="9">

</td>
</tr>
<tr>
<td bgcolor="#FFFFE6" colspan="2" height="9">

&nbsp; &nbsp;&nbsp;<img border="0" src="vinyet.gif">
<font face="MS Sans Serif, Arial" color="#295300" size="1">Accés
a</font><font face="MS Sans Serif, Arial" color="#295300" size="2"><B> </b> </font>

<font face="MS Sans Serif, Arial" color="#295300">

<a style="text-decoration:underline; cursor:hand" onclick="CargaXarxa(<%=rs("Idxarxa")%>,'');">

<B>


La Xarxa&nbsp;<%=rs("Idxarxa")%>&nbsp;</b><font size="1">&gt;&gt;&gt;</font></a></font></font><font size="2" color="#295300" face="MS Sans Serif, Arial"> </font>

<font size="1" color="#295300" face="MS Sans Serif, Arial">- darrera edició, de <%=rs("Data")%></font></td>

</tr>
</table>
</center>
<%end if%>
</body>
</html>
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 19:25.