Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2010, 14:08
Malk
 
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