Foros del Web » Programando para Internet » Javascript »

JS no funcional en Firefox si en Explorer

Estas en el tema de JS no funcional en Firefox si en Explorer en el foro de Javascript en Foros del Web. Saludos, Nuevamente los saludo con una nueva cuestión, sucede que tengo una función de Javascript que funciona muy bien en Explorer, pero no funciona en ...
  #1 (permalink)  
Antiguo 02/12/2010, 14:08
 
Fecha de Ingreso: septiembre-2010
Ubicación: Puebla
Mensajes: 14
Antigüedad: 13 años, 7 meses
Puntos: 0
JS no funcional en Firefox si en Explorer

Saludos,

Nuevamente los saludo con una nueva cuestión, sucede que tengo una función de Javascript que funciona muy bien en Explorer, pero no funciona en Firefox.

Se trata de un formulario para compra de boletos en línea, el usuario puede seleccionar el numero de boletos para adulto y mi funcion JS multiplicará el número de boletos seleccionados por su valor y mostrará el resultado en un input adjunto; entonces seleccionará el número de boletos para niño y pasará lo mismo que en el caso anterior; finalmente mi función captura el contenido de ambos inputs (el total a pagar por boletos de adultos y el total a pagar por boletos de adulto) hace una suma de ambos valores y me regresa el resultado en un tercer input.

A continuación el código en JS que se encarga de lo anterior:

function sumar()
{
var adult = parseFloat(<? echo $adult; ?>);
if (document.comprar.com_adult.selectedIndex!=0)
{
numer = parseFloat(document.comprar.com_adult.options[comprar.com_adult.selectedIndex].value);
total = numer * adult;
document.comprar.com_atotl.value = total.toFixed(2);
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
else
{
document.comprar.com_atotl.value = "0.00";
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
}

function sumar_2()
{
var child = parseFloat(<? echo $child; ?>);
if (document.comprar.com_child.selectedIndex!=0)
{
numer = parseFloat(document.comprar.com_child.options[comprar.com_child.selectedIndex].value);
total = numer * child;
document.comprar.com_ctotl.value = total.toFixed(2);
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
else
{
document.comprar.com_ctotl.value = "0.00";
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
}

function sumar_3()
{
var elder = parseFloat(<? echo $elder; ?>);
if (document.comprar.com_elder.selectedIndex!=0)
{
numer = parseFloat(document.comprar.com_elder.options[comprar.com_elder.selectedIndex].value);
total = numer * elder;
document.comprar.com_etotl.value = total.toFixed(2);
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
else
{
document.comprar.com_etotl.value = "0.00";
atotl = parseFloat(document.comprar.com_atotl.value);
ctotl = parseFloat(document.comprar.com_ctotl.value);
etotl = parseFloat(document.comprar.com_etotl.value);
gtotl = atotl + ctotl + etotl;
document.comprar.com_total.value = gtotl.toFixed(2);
}
}

Y este es el código del formulario:

Adulto <label><b style="color:<? echo $color; ?>">$<? echo $adult; ?> MXN</b></label>
<br />
<?
if ($adult != 0.00)
{
?>
<select name="com_adult" style="width:40px;" onchange="sumar();">
<option>...</option>
<?
for ($i=$viaje['pro_timin']; $i<$viaje['pro_timax']+1; $i++)
{
?>
<option value="<? echo $i; ?>"><? echo $i; ?></option>
<?
}
?>
</select>
&nbsp;
$<input name="com_atotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" /> MNX
<br />
<?
}
else
{
?>
<input name="com_atotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" type="hidden" />
<?
}
if ($child != 0.00)
{
?>
Niños <label><b style="color:<? echo $color; ?>">$<? echo $child; ?> MXN</b></label>
<br />
<select name="com_child" style="width:40px;" onchange="sumar_2();">
<option>...</option>
<?
for ($i=$viaje['pro_timin']; $i<$viaje['pro_timax']+1; $i++)
{
?>
<option value="<? echo $i; ?>"><? echo $i; ?></option>
<?
}
?>
</select>
&nbsp;
$<input name="com_ctotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" /> MNX
<br />
<?
}
else
{
?>
<input name="com_ctotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" type="hidden" />
<?
}
if ($elder != 0.00)
{
?>
INAPAM <label><b style="color:<? echo $color; ?>">$<? echo $elder; ?> MXN</b></label>
<br />
<select name="com_elder" style="width:40px;" onchange="sumar_3();">
<option>...</option>
<?
for ($i=$viaje['pro_timin']; $i<$viaje['pro_timax']+1; $i++)
{
?>
<option value="<? echo $i; ?>"><? echo $i; ?></option>
<?
}
?>
</select>
&nbsp;
$<input name="com_etotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" /> MNX
<br />
<?
}
else
{
?>
<input name="com_etotl" style="width:50px; text-align:right;" readonly="readonly" value="0.00" type="hidden" />

¿Alguna idea de porque no fuinciona en firefox y si en explorer?

Agradezco su ayuda
  #2 (permalink)  
Antiguo 02/12/2010, 14:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: JS no funcional en Firefox si en Explorer

la consola de errores de los navegadores es muy util para determinar donde esta el posible fallo. trata de siempre usarlo, la mayoria de las veces el problema se resuelve rapido cuando se analiza la consola. asi de momento me parece que el error esta cuando tomas el numero de cada grupo: cuantos niños, ancianos y adultos. en la siguiente linea, la sentencia dentro del corchete dice que comprar es un objeto del entorno principal (window) el cual distinto a decir que comprar es una propiedad del documento.
Código:
numer = parseFloat(document.comprar.com_child.options[comprar.com_child.selectedIndex].value);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: explorer, firefox, js
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 01:28.