Cargar frames con paso de variables de una pagina a otra

fisito1901
26 de Enero del 2004
Hola a Todos:

Tengo dos paginas,
origen(pagina-origen.) y index2(pagina-destino)
La pagina index2(pagina-destino) tiene 4 frames(leftFrame, topFrame, mainFrame, rightFrame)

Desde la pagina origen llamo a index2 de la siguiente manera:
<a href="index2.htm?codpag=1">link1</a><br>
<a href="index2.htm?codpag=2">link2</a><br>
<a href="index2.htm?codpag=3">link3</a><br>

Con lo que le envio una variable


En la pagina destino Index2.htm uso el siguiente script:
********
********

<script language="JavaScript">
cadVariables = location.search.substring(1,location.search.length);
arrVariables = cadVariables.split("&");
for (i=0; i<arrVariables.length; i++) {
arrVariableActual = arrVariables[i].split("=");
if (isNaN(parseFloat(arrVariableActual[1])))
eval(arrVariableActual[0]+"='"+unescape(arrVariableActual[1])+"';");
else
eval(arrVariableActual[0]+"="+arrVariableActual[1]+";");
}
switch(codpag) {
case 1:
top.frame['mainFrame'].location.href="ceninv.htm";
break;
case 2:
top.frame['mainFrame'].location.href="cenpre.htm";
break;
case 3:
top.frame['mainFrame'].location.href="inab.htm";
break;
}
</script>

ADEMAS, los frames estan declarados en esta misma pagina de la siguiente manera:

<frameset cols="*,798,*" frameborder="NO" border="0">
<frame src="aa_ext_izq.htm" name="leftFrame" scrolling="NO">
<frameset rows="110,*" frameborder="NO" border="0">
<frame src="aa_med_top.htm" name="topFrame" scrolling="NO" noresize >
<frame src="" name="mainFrame">
</frameset>
<frame src="aa_ext_der.htm" name="rightFrame" scrolling="NO">
</frameset>


********
********
Con lo que busco que el frame "mainFrame" cargue una pagina segun la variable que le envio:
para codpag=1 cargar ceninv.htm
para codpag=2 cargar cenpre.htm
para codpag=3 cargar inab.htm




El resultado que tengo es:
Se carga la pagina Index2.htm, pero el frame "mainFrame" aparece en blanco, he probado de muchas maneras y no corre.

Me estoy iniciando en el diseño de páginas web, por favor ayudenme.

muchas gracias por tu atención. Un saludo
MUCHAS GRACIAS (22 de enero 2004)

scriptman
26 de Enero del 2004
No te pasare el codigo hecho, pero ahi van unas sugerencias:

quieres pasar las variables asi: index2.htm?codpag=x
pero en el javascript las separas asi:
cadVariables.split("&");
deberias de llamarlas: index2.html?&codpag=x
desechando el primer elemento del array ("index2.html?") y evaluando el siguiente ("codpag=x")

Ademas, este codigo funciona solamente desde internet, ya que si lo abres desde tu disco duro, el navegador tratara de abrir el archivo "index2.html?&codpag=x" que no existe, (el archivo es solo "index2.html"). Tambien, si intentas abrir una pagina en un frame, es recomendable asignar el url asi: parent.frameID.location="pagina.html"; y no:
top.frame['mainFrame'].location.href="pagina.hml"

Tambien, para desarrollo javascript, usa un alert() para saber qué vas a abrir:
antes del
"switch(codpag) { "
pon: alert(codpag); para confirmar que estas tomando bien la variable, despues lo puedes quitar.

Saludos, scriptman.
.::the information is out there, just take it::.

Fisito 1901
26 de Enero del 2004
Hola Scriptman
he intentado y no sale :-( mira las hojas de prueba estan en:
http://www.adesaperu.com/prueba/origen.htm

y si deseas probar en tu ordenador te envio la carpeta zipeada en:
http://www.adesaperu.com/prueba/pruebaframes.zip

:-( ayudame amigo scriptman estoy en esto y me vuelvo loco gracias por todo de antemano

Carlos.