Foros del Web » Programando para Internet » Javascript »

INCREIBLE funciona con IE y va mal con Mozilla

Estas en el tema de INCREIBLE funciona con IE y va mal con Mozilla en el foro de Javascript en Foros del Web. Hola. Antes de empezar quiero dar las gracias por la respuesta a mi ultima pregunta sobre como pasar variables entre ventanas... En el ejemplo que ...
  #1 (permalink)  
Antiguo 02/03/2005, 06:34
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
INCREIBLE funciona con IE y va mal con Mozilla

Hola.
Antes de empezar quiero dar las gracias por la respuesta a mi ultima pregunta sobre como pasar variables entre ventanas...
En el ejemplo que me mostrasteis solo se pasaba una y yo necesitaba pasar muchas... Asi que lo he hecho de otra manera.

Bueno pongo el codigo para que sirva de ayuda a otros.
Y tambien por si hay algo mal!!

MI PREGUNTA:
Estoy trabajando con una pagina web que tiene definidas varias areas donde clicar....
al hacerlo se abre una ventana nueva que tiene un formulario llamado "detalles " y varios textareas y le paso con varialbes los valores que se han de mostrar en cada textarea.
Funciona bien con IExplorer pero con Mozilla rellena los textarea y en medio segundo los BORRA!!! tienes el tiempo justo de ver que habia algo!

Lo que creo que hace el Mozilla, es un refresh de la pagina despues de mostrar los valores, aunque no lo tengo claro.

Alguien me puede decir como evito que los borre despues de mostrarlos??
La verdad es que estoy un poco desesperado y muy sorprendido de que en mocosoft funcione y en mozilla no.

Aqui pongo el codigo.

La llamada a la funcion se podria hacer asi:
Código:
 
<area shape="circle" coords="$px, $py, 3"  alt="Click for details" 
onClick="nueva('detalles.html','0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','9')"; >
CODIGO:
Código:
function nueva(url,x,y,ChipRank,Block,Column,Row,ID,Name,CV,MeanRatio,BRANK,B,Cy5,Cy3,FLAGS,Cy5F,Cy3F,NGoodSpots,NdetectedCy5,NdetectedCy3)
						{ 
						  var opciones = "width=500,height=570,scrollbars=0,resizable=0,top=0,left=500";
						  var newwin=window.open(url,"newwin",opciones);
						  newwin.document.detalles.x.value=x;
						  newwin.document.detalles.y.value=y;
						  newwin.document.detalles.ChipRank.value=ChipRank;
 						  newwin.document.detalles.Block.value=Block;
						  newwin.document.detalles.Column.value=Column;
						  newwin.document.detalles.Row.value=Row;
						  newwin.document.detalles.ID.value=ID;
						  newwin.document.detalles.Name.value=Name;
						  newwin.document.detalles.CV.value=CV;
						  newwin.document.detalles.MeanRatio.value=MeanRatio;
						  newwin.document.detalles.BRANK.value=BRANK;
						  newwin.document.detalles.B.value=B;
						  newwin.document.detalles.Cy5.value=Cy5;
						  newwin.document.detalles.Cy3.value=Cy3;
						  newwin.document.detalles.FLAGS.value=FLAGS;
						  newwin.document.detalles.Cy5F.value=Cy5F;
						  newwin.document.detalles.Cy3F.value=Cy3F;
						  newwin.document.detalles.NGoodSpots.value=NGoodSpots;
						  newwin.document.detalles.NdetectedCy5.value=NdetectedCy5;
						  newwin.document.detalles.NdetectedCy3.value=NdetectedCy3;
						  newwin.focus();
						}
Gracias de antemano.

MACGREGOR
  #2 (permalink)  
Antiguo 02/03/2005, 06:55
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Intenta definir tu objeto por 'id'... vaya en vez de utilizar (por ejemplo)
document.algo.value=....
prueba con
document.getElementById('algo').value=....
dónde tu objeto debe tener el atributo id
<input type="XXX" name="algo" id="algo">

... Suerte!.. ah! y no.. no es increible... yo que tu funcionaria al revés.. primero probar en Mozilla luego en IE...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 02/03/2005, 09:37
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
Evitar el refresh con Mozilla

he porvado con
Código:
 newwin.document.getElementById('x').value=x;
definiendo los elementos con un id y con un name pero obtengo el mismo resultado. Con IE funciona con Mozilla me muestra los valores y los borra en menos de un segundo....

Si alguien tiene idea que me heche una mano.
Gracias.

(si no mi jefe me hechara no una, si no dos manos, pero al cuello!)
  #4 (permalink)  
Antiguo 03/03/2005, 17:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Y si le quitas el newwin.focus()???... quizá eso sea lo que recargue tu página.. prueba comenta resultados y trabajamos sobre ello..
Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 03/03/2005, 17:57
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
Hola
No creo que el focus() haga daño.
MACGREGOR ¿puedes poner el código de detalles.html? A ver si vemos algo.
__________________
Angel :cool:
  #6 (permalink)  
Antiguo 04/03/2005, 03:06
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
Desesperado

Estoy enfermo... por la gripe y por el dolor de cabeza que me produce que lo que estoy haciendono funcione....

He quitado el focus() como me recomendo jam1138 pero el resultado es el mismo. Bueno y que ahora la pagina con los detalles se queda detras :(

os pongo el codigo de la pagina de detalles a ver si me podeis hechar una mano. GRACIAS!!!
Al principio los campos Input los puse disabled="true" y al quitarlo el resultado es el mismo... creo que he porvado todas las tonterias habidas y por haber... pero el resultado siempre es el mismo.
Espero que me podais ayudar.

Código:
 
		


				<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
				<HTML>
				<HEAD>
				<TITLE>DETAILS</TITLE>
				<meta http-equiv="Content-Type" content="text/html;"> 
				<link rel="stylesheet" type="text/css" href="http://nin.crg.es/forms.css">
				</HEAD>
				<BODY MARGINHEIGHT="0" MARGINWIDTH="0" TOPMARGIN="0" LEFTMARGIN="0">

						

				<FORM id="detalles" name="detalles" method="" action="" enctype="application/x-www-form-urlencoded">
				<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" ALIGN="center" BGCOLOR="#D9D9D9">
				<TR>
					<TD ALIGN="center" ROWSPAN="2" BGCOLOR="#C9C9C9"><B>SPOT</B></TD>
					<TD align="left" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR>
								<TD align="center"><B>&nbsp;&nbsp;X : </B></TD><TD align="left"><input type="text" id="x" name="x"  size="12" maxlength="12"></TD>

								<TD align="center"> <B>&nbsp;&nbsp;Y : </B></TD><TD align="left"><input type="text" id="y" name="y"  size="12" maxlength="12"></TD>
							</TR>
							<TR BGCOLOR="#EEDDFF">
								<TD align="center"> <B>Chip Rank</B></TD><TD align="center"> <B>&nbsp;Block&nbsp;</B></TD><TD align="center"> <B>&nbsp;&nbsp;Column&nbsp;&nbsp;</B></TD><TD align="center"> <B>&nbsp;Row&nbsp;</B></TD>

							</TR>		
							<TR>
								<TD align="center"><input type="text" id="ChipRank" name="ChipRank"  size="8" maxlength="8"></TD><TD align="center"><input type="text" id="Block" name="Block"  size="5" maxlength="5"></TD><TD align="center"><input type="text" id="Column" name="Column"  size="5" maxlength="5"></TD><TD align="center"><input type="text" id="Row" name="Row"  size="5" maxlength="5"></TD>
							</TR>
						</TABLE>
					</TD>
				</TR>
				<TR>
					<TD align="center" COLSPAN="2">

						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR BGCOLOR="#EEDDFF">
								<TD align="center"><B>ID</B></TD><TD align="center"> <B>NAME</B></TD>
							</TR>
							<TR>
								<TD align="center"><input type="text" id="ID" name="ID"  size="18" maxlength="18"></TD><TD align="center"><input type="text" id="Name" name="Name"  size="22" maxlength="22"></TD>
							</TR>

						</TABLE>
					</TD>
				</TR>
				<TR>
					<TD ALIGN="center" BGCOLOR="#C9C9C9"><B>Reproducibility</B></TD>
					<TD align="center" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR>

								<TD BGCOLOR="#EEDDFF" align="center"> <B>CV</B></TD><TD BGCOLOR="#EEDDFF" align="center"> <B>Mean Ratio</B></TD>
							</TR>
							<TR>
								<TD align="center"><input type="text" id="CV" name="CV"  size="12" maxlength="12"></TD><TD align="center"><input type="text" id="MeanRatio" name="MeanRatio"  size="12" maxlength="12"></TD>
							</TR>
					   </TABLE>
					</TD>

				<TR>
					<TD ALIGN="center" BGCOLOR="#C9C9C9"><B>Significance</B></TD>
					<TD align="center" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR>
								<TD BGCOLOR="#EEDDFF" align="center"> <B>B Rank - Z</B></TD><TD BGCOLOR="#EEDDFF" align="center"> <B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</B></TD>

							</TR>
							<TR>
								<TD align="center"><input type="text" id="BRANK" name="BRANK"  size="12" maxlength="12"></TD><TD align="center"><input type="text" id="B" name="B"  size="12" maxlength="12"></TD>
							</TR>
						</TABLE>
					</TD>
				</TR>
				<TR>
					<TD ALIGN="center" BGCOLOR="#C9C9C9"><B>Intensity</B></TD>

					<TD align="center" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR>
								<TD BGCOLOR="#EEDDFF" align="center"> <B>Cy5</B></TD><TD BGCOLOR="#EEDDFF" align="center"> <B>Cy3</B></TD>
							</TR>
							<TR>
								<TD align="center"><input type="text" id="Cy5" name="Cy5"  size="9" maxlength="9"></TD><TD align="center"><input type="text" id="Cy3" name="Cy3"  size="9" maxlength="9"></TD>

							</TR>
						</TABLE>
					</TD>
				</TR>
				<TR>
					<TD ALIGN="center" ROWSPAN="2" BGCOLOR="#C9C9C9"><B>Quality Control</B></TD>
					<TD align="center" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">

							<TR>
								<TD BGCOLOR="#D9D9D9" align="center"><B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FLAGS &nbsp;&nbsp;--->&nbsp;&nbsp;&nbsp;</B></TD><TD align="center"><input type="text" id="FLAGS" name="FLAGS"  size="22" maxlength="22"></TD>
							</TR>			
							<TR BGCOLOR="#EEDDFF">
								<TD align="center"> <B>Cy5F</B></TD><TD align="center"><B>Cy3F</B></TD>
							</TR>
							<TR>

								<TD align="center"><input type="text" id="Cy5F" name="Cy5F"  size="8" maxlength="8"></TD><TD align="center"><input type="text" id="Cy3F" name="Cy3F"  size="8" maxlength="8"></TD>
							</TR>
						</TABLE>
					</TD>
				</TR>
				<TR>
					<TD align="center" COLSPAN="2">
						<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5" width="100%">
							<TR BGCOLOR="#EEDDFF">

								<TD align="center"> <B>N Good Spots<B></TD><TD align="center"> <B>N Detected Cy5<B></TD><TD align="center"> <B>N Detected Cy3<B></TD>
							</TR>
							<TR>
								<TD align="center"><input type="text" id="NGoodSpots" name="NGoodSpots"  size="3" maxlength="3"></TD><TD align="center"><input type="text" id="NdetectedCy5" name="NdetectedCy5"  size="3" maxlength="3"></TD><TD align="center"><input type="text" id="NdetectedCy3" name="NdetectedCy3"  size="3" maxlength="3"></TD>
							</TR>
						</TABLE>

					</TD>
				</TR>
				</TABLE>
				</FORM>
				</BODY>
				</HTML>
  #7 (permalink)  
Antiguo 04/03/2005, 10:53
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
como evito el refresh con Mozilla?

Necesito que me hechen una mano.
Alguien me puede dar alguna idea de como arreglar mi problema??
De verdad que necesito que funcione.
Gracias.
  #8 (permalink)  
Antiguo 04/03/2005, 14:42
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
lee también el mensaje que viene detrás

MACGREGOR
no consigo dar con ello.
He hecho algunas pruebas en Firefox y es como si el documento no estuviese aún generado cuando se intenta aplicar los valores a sus campos. Por ejemplo, si justo tras
var newwin=window.open(url,"newwin",opciones);
pones
alert( newwin.document.forms.length )
te contesta cero, es decir, que no hay formulario.
Lo mismo con
alert( newwin.document.title )
Quizás por eso luego, cuando "termina" de cargar el documento, te borra los datos.
Es raroraroraro... Lo siento, no sé qué más hacer
__________________
Angel :cool:

Última edición por angsanchez; 04/03/2005 a las 15:10 Razón: dirigir al siguiente
  #9 (permalink)  
Antiguo 04/03/2005, 15:09
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
¡Bingo!

Bueno, sigue siendo INCREÍBLE
Al terminar mi anterior respuesta y enviarla, se me ocurrió una cosa y ¡funciona!
(Aunque sigo sin entender por qué fallaba lo anterior.)

He hecho esto:
1) dividir la tarea entre 2 funciones, una que abre la ventana y otra que rellena el formulario.
2) la segunda función se llama desde la página del formulario
3) por ello, es preciso guardar los valores de los datos para luego poderlos rescatar desde la función n.2. Como no sé de dónde proceden, lo que he hecho (un poquín enrevesado, pero funciona) es definir variables globales y en la función 1 rellenarlas con los datos, y luego la función 2 los rescata para ponerlos en el formulario.

Con todo ello, queda así:

Página detalles.html: añade a la etiqueta BODY
Código HTML:
onLoad="opener.nueva2()"
Página principal:
Código HTML:
<head>
<script>
 var newwin     //debe ir fuera de la función, ser global
/* éstas que empiezan por guión bajo son las globales donde guardamos los datos entre la función 1 y la 2 */
 var _x,_y,_ChipRank,_Block,_Column,_Row,_ID,_Name,_CV,_MeanRatio,_BRANK,_B,_Cy5,_Cy3,_FLAGS,_Cy5F,_Cy3F,_NGoodSpots,_NdetectedCy5,_NdetectedCy3

function nueva1(url,x,y,ChipRank,Block,Column,Row,ID,Name,CV,MeanRatio,BRANK,B,Cy5,Cy3,FLAGS,Cy5F,Cy3F,NGoodSpots,NdetectedCy5,NdetectedCy3)
{
  var opciones = "width=500,height=570,scrollbars=0,resizable=0,top=0,left=500";
  newwin=window.open(url,"newwin",opciones);
  _x=x;
  _y=y;
  _ChipRank=ChipRank;
  _Block=Block;
  _Column=Column;
  _Row=Row;
  _ID=ID;
  _Name=Name;
  _CV=CV;
  _MeanRatio=MeanRatio;
  _BRANK=BRANK;
  _B=B;
  _Cy5=Cy5;
  _Cy3=Cy3;
  _FLAGS=FLAGS;
  _Cy5F=Cy5F;
  _Cy3F=Cy3F;
  _NGoodSpots=NGoodSpots;
  _NdetectedCy5=NdetectedCy5;
  _NdetectedCy3=NdetectedCy3;
}
function nueva2()
{
/*esto del "with" es una forma de abreviar lo que tenías, pero no cambia nada */
  with ( newwin.document.getElementById('detalles') )
  {
	  x.value=_x;
	  y.value=_y;
	  ChipRank.value=_ChipRank;
	  Block.value=_Block;
	  Column.value=_Column;
	  Row.value=_Row;
	  ID.value=_ID;
	  Name.value=_Name;
	  CV.value=_CV;
	  MeanRatio.value=_MeanRatio;
	  BRANK.value=_BRANK;
	  B.value=_B;
	  Cy5.value=_Cy5;
	  Cy3.value=_Cy3;
	  FLAGS.value=_FLAGS;
	  Cy5F.value=_Cy5F;
	  Cy3F.value=_Cy3F;
	  NGoodSpots.value=_NGoodSpots;
	  NdetectedCy5.value=_NdetectedCy5;
	  NdetectedCy3.value=_NdetectedCy3;
  }
    newwin.focus();
} 
</script>
</head>

<body>
/*ahora seguiría tu código AREA etc., pero lo he puesto de este otro modo para hacer mis pruebas */
<a href="javascript:;" 
onClick="nueva1('detalles.html','0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','9')"; >Click for details</a>
</body> 
Ya dirás...
__________________
Angel :cool:

Última edición por angsanchez; 04/03/2005 a las 15:24
  #10 (permalink)  
Antiguo 07/03/2005, 08:47
Avatar de MACGREGOR  
Fecha de Ingreso: enero-2005
Mensajes: 89
Antigüedad: 19 años, 3 meses
Puntos: 0
Por Fin



Me ha funcionado.

Mil 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 08:13.