Javascript y Navegadores
3 seguidores
Alguien sabria decirme porque esta pagina :
http://207.44.182.31/albayzindelmar.com/tpv/factura_es.htm
me da resultados distintos segun el navegador que uso?
El caso es que segun mis estadisticas de uso de pagina el 99,8 % usan IE, pero fijandome en Firebird me he dado cuenta que me aparecen resultados distintos.... mu malo eso pal negocio... no puedo aplicar tarifas distintas segun el navegador que se use :D
Por cierto, si quereis hacer reservas no ir a esa, sino a www.exclusivo-internautas.com
la otra es el proximo hosting que voy a coger...
meddle
¿el problema es la visualizacion del formulario o que los resultados de los calculos son distintos?
Surt
Eso es lo gracioso, que el resultado de los formularios es distinto...
No se a que puede deberse... entran muchos factores en juego.. pero la falta de compatibilidad debe ser esta.. ya que mediante ALERT he visto que el resto esta bien:
if (NAdultos<=2) precio_adultos=(tarifa[tar_fecha][regimen]*(NAdultos));
else precio_adultos=(tarifa[tar_fecha][regimen]*2)+(tarifa[tar_fecha][regimen]*(NAdultos-2)*0.5);
if (ninios>2) precio_ninios=tarifa[tar_fecha][regimen]*(ninios-2)*0.5;
precio_total = precio_adultos+precio_ninios;
//alert("Grupo fecha: "+tar_fecha+"\nAdultos: "+adultos+"\nNiños: "+ninios+"\nPersonas: "+personas+"\nRegimen: "+regimen+"\nPrecio persona: "+precio_personas);
precio1=precio1+precio_total;
meddle
me apostaria algo a que en IE hay null's por ahi y por eso el resultado es distinto... prueba a hacer parseInt de todos los valores numericos.
Surt
Pero en IE sale bien, es el Firebird el que me falla.
meddle
a mi el IE6 y el Firebird me dan lo mismo. ¿Puedes darme ejemplos de datos que te fallen, para poder reproducirlos?
Surt
ejem... parece que si me dan lo mismo tambien....
¿¿¿¿????? Ayer hize mil pruebas... algo debi hacer mal ¿¿¿???
En cualquier caso no me actualiza a la fecha de hoy, es por la programacion o por la configuracion del firebird?
En IE6 me sale la fecha actual, en el Firebird me sale el dia 1 del 6
Lamento el post este de neurotico que he creado :D
meddle
a mi ayer la primera vez no me salia la fecha, la segunda vez me salio bien. recuerda que la fecha deberias ponerla en asp/php, etc. Los contenidos dinamicos SIMEPRE mejor crearlos desde servidor, nadie te asegura que el usuario tenga javascirpt. Ende no bases el envio de tu formulario en esa tecnologia. Puedes usar javascript pero no obligar a ello.
Surt
Ya, yo lo hubirera hecho en PHP, pero ya estaba asi y no tengo tiempo material para cambiarlo, tan solo ahora con las nuevas tarifas, y aun asi me falta tiempo.
Ahora me pongo a probar lo que deberia estar bien y me sale un error.
En este codigo:
for (i=0; i<t_fecha.length; i++){
tar_fecha=t_fecha[i];
precio_personas=0;
precio_ninios=0;
precio_total=0;
if (NAdultos<=2) precio_adultos=Math.round(tarifa[tar_fecha][regimen]*NAdultos);
else precio_adultos=Math.round((tarifa[tar_fecha][regimen]*2)+(tarifa[tar_fecha][regimen]*(NAdultos-2)*0.5));
if (ninios>2) precio_ninios=Math.round(tarifa[tar_fecha][regimen]*(ninios-2)*0.5);
alert(""+i+"");
precio_total = precio_adultos+precio_ninios;
//alert("Grupo fecha: "+tar_fecha+"\nAdultos: "+adultos+"\nNiños: "+ninios+"\nPersonas: "+personas+"\nRegimen: "+regimen+"\nPrecio persona: "+precio_personas);
precio1=precio1+precio_total;
}
Le hago un for de los dias de reserva, bien, si reserva 8 dias de 0 a 7 (ver: for (i=0; i<t_fecha.length; i++) )
perfecto de 0 a 7 van 8 dias.
PERO RESULTA QUE SI RESERVO 9 DIAS!!!!! ME SALE MAL!!!!!!! ME CUENTA DE 0 A 9!!!!!! QUE ESTOY HACIENDO MAL ?????? ESTOY SATURAO POR DIOS! ADEMAS SOLO ME PASA EN UNA FECHA CONCRETA! Y NO SE QUE ESTA MAL!!!!!!! UUUUUUH NECESITO UN RESPIRO :D
meddle
¿por que guardas el numero de dias en un array? ¿No seria mejor usar una variable? (o el valor del campo con texto "Total días reservados")
meddle
de hecho en la version que yo veo online (datos.js) usas:
<code>var _dt = DaysDelta(_d1,_d2);
form.total_dias.value=Math.round(_dt);</code>
asi pues, si no me equivoco, lo que quieres es poner un precio distinto a cada dia, por si cambia de temporada en mitad de las vacaciones. Bien, pero ojito con las variables/arrays GLOBALES o LOCALES. Tienes un buen lio ahi en ese sentido. Y eso hace que tengas que escribir/leer los valorres del formulario.
Surt
Si, el js esta hecho un cacao, pero lo he resuelto.
He usado el valor Math.round(_dt); en el bucle for, asi me aseguro de que me pilla por ejemplo 9 dias, y no 9,4 que acumulando se me convierten en 10. Caso resuelto. Si algun dia me quedo ocioso en el trabajo lo transformo a PHP y le retoco algunas cosillas (como el uso de variables del que usas).
Muchas gracias meddle por el seguimiento :) eres el mejor!
meddle
bueno, pues veo que iba por ahi. me alegro que te chute.
de nada, y no, no soy el mejor, si es que eso importa y se puede medir de alguna manera ;)
ramón_c
meddle
bueno, pues veo que iba por ahi. me alegro que te chute.
de nada, y no, no soy el mejor, si es que eso importa y se puede medir de alguna manera ;)
Fectivamente, todos sabemos que el mejor es Pee Wee :D Lo de los navegadores me trae loco. Danivx me dijo hace poco que no podía ver los trabajos en mi sitio (salen en la frame derecha) con Mozilla. Pero ayer otro tío que usa Mozilla como primer navegador me dijo que lo veía todo perfectamente (?!). En fin, a ver si han arreglado por lo menos algunas de las incompatibilidades con IE en la nueva versión que salió ayer.