Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/06/2010, 11:48
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 10 meses
Puntos: 45
Respuesta: problema con doctype public con funcion javascript en firefox

Buenas,

yo diría que el problema lo causa document.all que no es estandar y sólo lo soportan IE y Opera. Firefox lo tolera pero sólo para discriminar si tiene que ejecutar o no el código, que es para lo que se solía usar (aunque no era muy buena técnica).

Por otro lado yo empezaría por limpiar un poco el código, por ejemplo en el javascript en la función mandapais ejecutas exactamente el mismo código en el if que en el else, en ese caso el if está de más, pero si lo necesitaras, el código que se deba ejecutar en ambos casos debería ir fuera del if. También podría simplificarse haciendo funciones auxiliares que son muy útiles cuando hay que repetir código. Por ejemplo:

Código Javascript:
Ver original
  1. function ocultarUno(elem)
  2. {
  3.   document.getElementById(elem).style.display = 'none';
  4. }
  5.  
  6. function ocultarVarios(elemS)
  7. {
  8.   for (var i=0; i<elemS.length; ++i) ocultarUno(elemS[i]);
  9. }
  10.  
  11. function mandapais()
  12. {
  13.   // en lugar de usar esto
  14.   // document.getElementById("tourstailor").style.display="none";
  15.   // usar eso
  16.   ocultarUno('tourstailor');
  17.  
  18.   // o por ejemplo si son varios  
  19.   // document.getElementById("ocultadatos1").style.display="none";          
  20.   // document.getElementById("ocultadatos2").style.display="none";          
  21.   // document.getElementById("ocultadatos3").style.display="none";  
  22.   // podemos hacer esto
  23.   var elementos = ['ocultadatos1', 'ocultadatos2', ' ocultadatos3'];
  24.   ocultarVarios(elementos);  
  25.   // incluso generalizarlo más pasando un 2º parámetro con el valor
  26.   // de la propiedad display para que sirva para mostrar también.
  27.   // o incluso pasar un tercer parámetro para el nombre de la propiedad
  28.   // y que sirva también para visibility por ejemplo                
  29.  
  30. }

En la misma función usas el método get pero luego en el ASP y en el HTML usas el método post, no se si eso pueda darte problemas...

También utilizas algunas etiquetas y atributos relacionados con estilos como <font> <u> o align, color, width que estan desaconsejados, es mejor separar los estilos en ficheros .css independientes, queda más claro, es más fácil de modificar o de incluir en otras páginas por ejemplo. En general esto se puede aplicar también al resto de código y separar el html del js...

Ya que te preocupaba la accesibilidad ten en cuenta que los formularios necesitan un action y un submit para cuando no esté disponible ajax ni javascript