Foros del Web » Programando para Internet » Javascript »

Como puedo pasar parametros a un Iframe???

Estas en el tema de Como puedo pasar parametros a un Iframe??? en el foro de Javascript en Foros del Web. Hola, estoy haciendo una página para la comunidad de Madrid y tengo un problema. Tengo un combo de seleccion de país y lo ke hace ...
  #1 (permalink)  
Antiguo 02/06/2004, 04:29
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
Como puedo pasar parametros a un Iframe???

Hola, estoy haciendo una página para la comunidad de Madrid y tengo un problema. Tengo un combo de seleccion de país y lo ke hace es ke al elegir el país y aceptar contruye un String ke contiene una direccion URL ke kiero meter en un iframe ke tengo debajo. Como puedo hacerlo desde el formulario???

este es el formulario:

<form method="post" name="form1" action="parent.marco.src=URL">

URL es el string ke creo en la funcion

y aki esta el iframe:

<iframe name="marco" width="798" align="left" frameborder=0 marginwidth=0 marginheight="0" scrolling="no"></iframe>

Gracias de antemano
  #2 (permalink)  
Antiguo 02/06/2004, 04:33
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
Prueba a cambiar parent.marco.src por parent.marco.location.href
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 02/06/2004, 04:35
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
prueba así

<form method="post" name="form1" action="marco.location.href=URL">
  #4 (permalink)  
Antiguo 02/06/2004, 04:36
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
oño esta vez me ganaste tú!
  #5 (permalink)  
Antiguo 02/06/2004, 04:43
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
Sigue sin salir

El problema es ke yo kiero mantener el combo con los paises y debajo cargar la página del país del combo en el iframe. Esta vez os paso el codigo entero y la direccion donde esta subida para ke lo veais y me digais ke está mal, va?

codigo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilos/estilos.css" rel="stylesheet" type="text/css">

</head>
<body leftmargin="0" topmargin="10" marginwidth="0" marginheight="0">
<%
Set rs=Server.CreateObject("ADODB.Recordset")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open ("driver={SQL Server};server=osiris.servidoresdns.net;uid=qc392; pwd=2dmayo;database=qc392")
sql="select * from tbl_niveles order by nivel asc"
rs.open sql,conn,1,2
%>
<SCRIPT LANGUAGE="JavaScript">
var pais1=new String;
var pais2=new String;
var URL=new String;

function getPais()
{
for (var i=0; i < document.form1.pais.length; i++)
{
if (document.form1.pais[i].selected)
{
pais1=document.form1.pais.value;
pais2=document.form1.pais.value;

if (document.form1.pais.value=="Bélgica")
{
pais1="belgica";
pais2="belgica";
}
else
{
if (document.form1.pais.value=="Estados Unidos")
{
pais1="EEUU";
pais2="USA";
}
else
{
if (document.form1.pais.value=="Rep. Checa")
{
pais1="rcheca";
pais2="rcheca";
}
else
{
if (document.form1.pais.value=="Sur de Asia")
{
pais1="Hong_kong";
pais2="hong";
}
else
{
if (document.form1.pais.value=="Reino unido")
{
pais1="RUnido";
pais2="UK";
}
}
}
}
}
}
}
URL="http://www.investinmadrid.com/tce_nuevo/fichas/" + pais1 + "/intro_ficha_" + pais2 + ".htm";
alert(URL);
}
function setURL(String URL1)
{
parent.principal.location.href=URL1;
arriba.location.href='http://www.investinmadrid.com/tce_nuevo/seleccion_ficha.asp';

}
</script>
<form method="post" name="form1" action="marco.location.href=URL"> <!--+ "topFrame.frames.location.href='seleccion_ficha.as p'"-->
<TABLE width="808">
<TR>
<TD width="93" rowspan="2"></TD></td>
<TD width="702" valign="top" class="Lineacelda"><table width="798%" border="0" cellpadding="0" cellspacing="8">
<tr>
<td width="1">
<td valign="top" class="textopeq"> <table width="569" border="0" cellpadding="0" cellspacing="0">
<tr>
<td> <p class="titulo">Seleccione el pa&iacute;s del que desea
ver informaci&oacute;n<br>
<br>
</p>
<td>&nbsp;</td>
</table>
<table width="573">
<tr>
<td width="152" class="textopeq">Elija area geogr&aacute;fica
<td width="137"> <select class="Campotexto" name="pais">
<%
if not rs.eof then
rs.movefirst
response.write("<option value='Todos'>Todos los paises</option>")
while not rs.eof
if rs("nivel")<>"Todos" and rs("nivel")<>"Suecia" and rs("nivel")<>"Tailandia" and rs("nivel")<>"Dinamarca" and rs("nivel")<>"Francia" and rs("nivel")<>"India" and rs("nivel")<>"Italia" and rs("nivel")<>"Japón" and rs("nivel")<>"Rumanía" and rs("nivel")<>"Turquía" then
response.write("<option value='" & rs("nivel") & "'>" & rs("nivel") & "</option>")
end if
rs.movenext
wend
end if
%>
</select>
<td width="160"><span class="textopeq">Si esta listo pulse</span>
<td width="100"> <input name="button" type="submit" class="Boton" value="Aceptar" onClick="getPais()">
</table>
<tr>
<td>
<td width="798" valign="top" class="textopeq">
<iframe name="marco" width="798" align="left" frameborder=0 marginwidth=0 marginheight="0" scrolling="no"></iframe>
</table>
</TABLE>
<p>&nbsp;</p></form>

</body>
</html>

URL: http://www.investinmadrid.com/tce_nu...cion_ficha.asp
  #6 (permalink)  
Antiguo 02/06/2004, 04:49
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
Sigue sin salir lo del Iframe

El problema es ke yo kiero mantener el combo con los paises y debajo cargar la página del país del combo en el iframe. Esta vez os paso el codigo entero y la direccion donde esta subida para ke lo veais y me digais ke está mal, va?

codigo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="estilos/estilos.css" rel="stylesheet" type="text/css">

</head>
<body leftmargin="0" topmargin="10" marginwidth="0" marginheight="0">
<%
Set rs=Server.CreateObject("ADODB.Recordset")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open ("driver={SQL Server};server=osiris.servidoresdns.net;uid=qc392; pwd=2dmayo;database=qc392")
sql="select * from tbl_niveles order by nivel asc"
rs.open sql,conn,1,2
%>
<SCRIPT LANGUAGE="JavaScript">
var pais1=new String;
var pais2=new String;
var URL=new String;

function getPais()
{
for (var i=0; i < document.form1.pais.length; i++)
{
if (document.form1.pais[i].selected)
{
pais1=document.form1.pais.value;
pais2=document.form1.pais.value;

if (document.form1.pais.value=="Bélgica")
{
pais1="belgica";
pais2="belgica";
}
else
{
if (document.form1.pais.value=="Estados Unidos")
{
pais1="EEUU";
pais2="USA";
}
else
{
if (document.form1.pais.value=="Rep. Checa")
{
pais1="rcheca";
pais2="rcheca";
}
else
{
if (document.form1.pais.value=="Sur de Asia")
{
pais1="Hong_kong";
pais2="hong";
}
else
{
if (document.form1.pais.value=="Reino unido")
{
pais1="RUnido";
pais2="UK";
}
}
}
}
}
}
}
URL="http://www.investinmadrid.com/tce_nuevo/fichas/" + pais1 + "/intro_ficha_" + pais2 + ".htm";
alert(URL);
}
function setURL(String URL1)
{
parent.principal.location.href=URL1;
arriba.location.href='http://www.investinmadrid.com/tce_nuevo/seleccion_ficha.asp';

}
</script>
<form method="post" name="form1" action="marco.location.href=URL"> <!--+ "topFrame.frames.location.href='seleccion_ficha.as p'"-->
<TABLE width="808">
<TR>
<TD width="93" rowspan="2"></TD></td>
<TD width="702" valign="top" class="Lineacelda"><table width="798%" border="0" cellpadding="0" cellspacing="8">
<tr>
<td width="1">
<td valign="top" class="textopeq"> <table width="569" border="0" cellpadding="0" cellspacing="0">
<tr>
<td> <p class="titulo">Seleccione el pa&iacute;s del que desea
ver informaci&oacute;n<br>
<br>
</p>
<td>&nbsp;</td>
</table>
<table width="573">
<tr>
<td width="152" class="textopeq">Elija area geogr&aacute;fica
<td width="137"> <select class="Campotexto" name="pais">
<%
if not rs.eof then
rs.movefirst
response.write("<option value='Todos'>Todos los paises</option>")
while not rs.eof
if rs("nivel")<>"Todos" and rs("nivel")<>"Suecia" and rs("nivel")<>"Tailandia" and rs("nivel")<>"Dinamarca" and rs("nivel")<>"Francia" and rs("nivel")<>"India" and rs("nivel")<>"Italia" and rs("nivel")<>"Japón" and rs("nivel")<>"Rumanía" and rs("nivel")<>"Turquía" then
response.write("<option value='" & rs("nivel") & "'>" & rs("nivel") & "</option>")
end if
rs.movenext
wend
end if
%>
</select>
<td width="160"><span class="textopeq">Si esta listo pulse</span>
<td width="100"> <input name="button" type="submit" class="Boton" value="Aceptar" onClick="getPais()">
</table>
<tr>
<td>
<td width="798" valign="top" class="textopeq">
<iframe name="marco" width="798" align="left" frameborder=0 marginwidth=0 marginheight="0" scrolling="no"></iframe>
</table>
</TABLE>
<p>&nbsp;</p></form>

</body>
</html>

URL: www.investinmadrid.com/tce_nuevo

y pinchais en la imagen ke pone ficha pais. Lo siguiente ke sale ya es elcódigo ke teneis arriba.
  #7 (permalink)  
Antiguo 02/06/2004, 04:53
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
NO REPITAS PREGUNTAS!

Hey, tunait! No ibas a ganar siempre
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #8 (permalink)  
Antiguo 02/06/2004, 04:57
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
ok, lo siento, es ke no sabia si lo ibais a leer si lo seguia poniendo dentro y ade+ me habia confundido al poner la URL.
  #9 (permalink)  
Antiguo 02/06/2004, 05:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola a todos:

No sería mejor poner el iframe como target del formulario y en el onsubmit solo asignar la dirección al action del formulario...

Saludos
  #10 (permalink)  
Antiguo 02/06/2004, 06:08
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias Caricatos, eso ya lo he hecho y va mejor(x lo menos me sale la página de error de internet explorer dentro del marco asi ke algo es algo)pero el problema lo tengo en pasarle la variable URL, es decir, la direccion ke kiero poner en el marco, por el form al marco, entiendes?

te paso la funcion y el form, va? para ke no sea tan coñazo

funcion:

Código:
<SCRIPT LANGUAGE="JavaScript">
var pais1=new String;
var pais2=new String;
var URL=new String;

function getPais() 
{ 
	for (var i=0; i < document.form1.pais.length; i++) 
	{ 
		if (document.form1.pais[i].selected) 
		{	
			pais1=document.form1.pais.value;
			pais2=document.form1.pais.value;
			
			if (document.form1.pais.value=="Bélgica")
			{
				pais1="belgica";
				pais2="belgica";
			}
			else
			{
				if (document.form1.pais.value=="Estados Unidos")
				{
					pais1="EEUU";
					pais2="USA";
				}
				else
				{
					if (document.form1.pais.value=="Rep. Checa")
					{
						pais1="rcheca";
						pais2="rcheca";
					}
					else
					{	
						if (document.form1.pais.value=="Sur de Asia")
						{
							pais1="Hong_kong";
							pais2="hong";
						}
						else
						{	
							if (document.form1.pais.value=="Reino unido")
							{
								pais1="RUnido";
								pais2="UK";
							}
						}
					}
				}
			}
		}
	}
	URL="http://www.investinmadrid.com/tce_nuevo/fichas/" + pais1 + "/intro_ficha_" + pais2 + ".htm";
	
}

</script>
y el form:

Código:
<form method="post" name="form1" action="URL" target="marco">
Muchas gracias x vuestra preocupación, llevo ya 2 dias dandole vueltas y estoy desesperadisimo. Gracias.
  #11 (permalink)  
Antiguo 02/06/2004, 07:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Hola otra vez:

La primera solución que se me ocurre es (creo que lo comenté antes)... despreocuparse por el action en el form (aunque no importa que se le asigne un valor "temporal"), pero sobre todo, hacer la asignación en el evento onsubmit...

Me parece que te serviría algo así en la función getPais():

document.forms["form1"].action = "http://www.investinmadrid.com/tce_nuevo/fichas/" + pais1 + "/intro_ficha_" + pais2 + ".htm";

y en el tag form...
<form action="" target="marco" method="post" onsubmit="getPais()"...>

Nota: cuando lo pruebes, prueba poner un alert con la dirección que se devuelve y fíjate si la dirección se construye correctamente
  #12 (permalink)  
Antiguo 03/06/2004, 07:35
 
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias!!!

Gracias Caricatos, estabas en lo cierto, ahora va todo perfecto!!!
Gracias!
  #13 (permalink)  
Antiguo 03/06/2004, 07:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284


__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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:35.