JavaScript - Problema Funcion Javascript en Firefox

   
Vista:

Problema Funcion Javascript en Firefox

Publicado por Luis Mariano (5 intervenciones) el 18/04/2012 19:01:04
Buenas,

tengo un problema con codigo Javascript en una página web hecha en ASP Clásico. Ahora llevo el mantenimiento, pero no la hice yo.
Hay una parte que funciona en IE pero no en Firefox, probado en varios ordenadores.
El caso es que tengo una funcion que abre una ventana nueva. La función es:

1
2
3
4
5
6
7
function MuestroCarro(vObj, vPrec)
{
	if (vPrec)
	{
		window.open(vObj + vPrec, "carroPaquita",'width=560,height=450,Top=10,scrollbars=yes')
	}
}


Esta funcion es llamada aquí:

1
2
3
4
5
<%if rsDatos("VtaNet") = 1 then %>
			<td><div align="center"><a onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',Precio<%=vContImg%>.value)"
						   onMouseOut="MM_swapImgRestore()"
						   onMouseOver="MM_swapImage('ImgC<%=vContImg%>','','imagenes/comprar_on.gif',1)">
						   <img src="imagenes/comprar.gif" name="ImgC<%=vContImg%>" border="0"></a></div></td>

Haciendo pruebas, he visto que todo funciona si quito el argumento "Precio<%=vContImg%>.value" en la funcion y en la llamada. Pienso que el problema puede estar aquí,
pero no doy con la solución.

Por mas vueltas que le doy, no atino.

A ver si alguien me puede ayudar.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema Funcion Javascript en Firefox

Publicado por xve (1596 intervenciones) el 18/04/2012 22:57:02
Hola Luis, una prueba a realizar, seria poner un alert dentro de la función MuestroCarro para ver que realmente se ejecuta y que los valores que llegan son correctos... algo como:
1
alert(vObj+" - "+vPrec);

También puedes mirar en firefox si da algún error el javascript... mediante el plugin firebug

Has probado si funciona en Chrome?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Funcion Javascript en Firefox

Publicado por Luis Mariano (5 intervenciones) el 19/04/2012 18:43:55
Buenas xve,

gracias por contestar.

En Chrome tampoco funciona.

Si pongo el alert, no salta, a menos que quite el segundo argumento de la funcion. Si no lo quito, creo que no llega ni a llamar a la funcion. No hace nada.

El Firebug lo he probado. Cuando ejecuto, me sale en los errores algo como "Precio1 is undefined". Precio1 aparece al evaluar segundo argumento, entiendo yo.

Todo me indica que está aqui el problema,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problema Funcion Javascript en Firefox

Publicado por xve (1596 intervenciones) el 22/04/2012 18:25:26
Hola Luis, creo que ya veo donde tienes el problema...
onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',Precio<%=vContImg%>.value)"

Aqui, el valor se carga al cargar la pagina, por lo que cuando se carga la pagina Precio<%=vContImg%>.value no tiene valor...

Si una vez cargada la pagina haces ver codigo fuente, que aparece?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Funcion Javascript en Firefox

Publicado por Luis (5 intervenciones) el 23/04/2012 18:22:15
Buenas,

el codigo HTML que me encuentro es el mismo para IE y para Firefox.
Te muestro una parte, la que corresponde al problema:

<td><div align="center"><a onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',Precio1.value)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('ImgC1','','imagenes/comprar_on.gif',1)"><img src="imagenes/comprar.gif" name="ImgC1" border="0"></a></div></td>

</tr>
<tr valign="bottom">
<td colspan="2" align="center" height="24">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<span class="normal">Precio:</span>
</td>
<td valign="bottom">
<span class="normal">

<select name="Precio1" class="lista">

<option value="69">Pequeño: 32,41 &#128; </option>

<option value="154">Mediano: 46,30 &#128; </option>

<option value="155">Grande: 64,81 &#128; </option>

</select>

</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>

<td>
<table width="154" border="0" cellpadding="0" cellspacing="0">
<tr valign="top">
<td colspan="2" align="center" height="20">
<a class="pincha" href="Detalle.asp?IdProducto=85">CORAZON DULCE</a>
</td>
</tr>
<tr valign="middle">
<td colspan="2" height="93">
<div align="center"><a href="Detalle.asp?IdProducto=85"><img src="imagenes\Fotos\RCDULP.JPG" class="foto"></a></div>
</td>
</tr>
<tr valign="bottom">
<td height="24"><div align="center"><a href="Detalle.asp?IdProducto=85" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('ImgD2','','imagenes/detalle_on.gif',1)"><img src="imagenes/detalle.gif" name="ImgD2" border="0"></a></div></td>

<td><div align="center"><a onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',Precio2.value)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('ImgC2','','imagenes/comprar_on.gif',1)"><img src="imagenes/comprar.gif" name="ImgC2" border="0"></a></div></td>

</tr>
<tr valign="bottom">
<td colspan="2" align="center" height="24">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<span class="normal">Precio:</span>
</td>
<td valign="bottom">
<span class="normal">

<select name="Precio2" class="lista">

<option value="70">Pequeño: 115,74 &#128; </option>

<option value="160">Mediano: 143,52 &#128; </option>

<option value="161">Grande: 171,30 &#128; </option>

</select>

</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>

<td>


Carga los valores correctamente para esa pagina en ambos navegadores, pero en Firefox no los pasa a la funcion para abrir la otra ventana con ellos. No se si será problema de sintaxis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problema Funcion Javascript en Firefox

Publicado por xve (1596 intervenciones) el 23/04/2012 21:56:03
Hola Luis, creo que esta linea es errónea:
onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',Precio2.value)"
Interpreto que Firefox entiendo Precio2.value, pero realmente estaria mal, ya que no se deberia hacer referencia directamente al nombre de un campo de un formulario.

Debería de ser algo así:
onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',document.form[0].Precio2.value)"
De todas meneras, lo mejor es que trabajas con un id... algo así:
<select name="Precio1" class="lista" id='MyList'>
<option value="69">Pequeño: 32,41 &#128; </option>
<option value="154">Mediano: 46,30 &#128; </option>
<option value="155">Grande: 64,81 &#128; </option>
</select>

Y en el onclick quedaria así:
onClick="MuestroCarro('MiCesta.asp?ac=meter&presen=',document.getElementById('MyList').value)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Funcion Javascript en Firefox

Publicado por Luis (5 intervenciones) el 24/04/2012 19:15:34
Buenas,

he estado probando con lo que me dices. Lo que no tengo claro es que Precio2.value sea
un campo de un formulario. ¿No es simplemente un String que completa una URL?

Hay una linea en el archivo que dice lo siguiente:

<form action="Comprar.asp?ac=meter&presen=" id="compra" name="compra" method="POST">

La funcion "MuestroCarro('MiCesta.asp?ac=meter&presen=',precio.value)
completa la URL (con Precio en este caso) y abre otra
página ASP.

Puedes verlo si quieres en www.floristeriapaquita.com
Luego en "Venta Online en Granada -> Ramos -> Comprar"
Ese botón "comprar" es el que no funciona.

Gracias Compañero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema Funcion Javascript en Firefox

Publicado por Luis (5 intervenciones) el 25/04/2012 21:42:37
Buenas,

ya lo he soluciondao. Era lo que tu decias, poner un Id en la lista, y en la llamada a la funcion, utilizarlo.

Muchas Gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar