Foros del Web » Programando para Internet » Javascript »

Lista desplegable con navegador de página, !error¡

Estas en el tema de Lista desplegable con navegador de página, !error¡ en el foro de Javascript en Foros del Web. Hola, tengo una página que contiene una lista desplegable que cuando se da clic en algunas de las opciones se va a una página diferente ...
  #1 (permalink)  
Antiguo 12/10/2010, 15:02
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 2
Lista desplegable con navegador de página, !error¡

Hola, tengo una página que contiene una lista desplegable que cuando se da clic en algunas de las opciones se va a una página diferente pues como value tiene una url, pero me funciona en explorer y en el explorador de google pero no en firefox, ¿Quisiera saber si algo estoy pasando por alto? El siguiente es mi código
Código HTML:
<form name="lista" id="lista">
        <script type="text/javascript" src="librerias/i-pg_programas.js"></script>
      </form> 
Mi JavaScript que imprime la lista
Código PHP:
document.write('<select size="1" name="programas" onchange="javascript:cambia();">');
document.write('    <option selected="selected">Elija aqu&iacute; su tour</option>');
document.write('    <option value="i-pg_4x4-5-1.php">Caral la m&aacute;s Antigua de Am&eacute;rica 1 Day </option>');
document.write('    <option value="i-pg_4x4-5-5.php">Reinos M&aacute;gicos Express 5 Days</option>');
document.write('  </select>'); 
La función del cambio
Código PHP:
function cambia() {
    
location.href=lista.programas.value;

Quisiera saber que estoy obviando, muchas gracias.

Aquí tengo el ejemplo en línea http://www.peru-expeditions.com/Peru...pg_4x4-5-7.php
  #2 (permalink)  
Antiguo 12/10/2010, 15:20
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Lista desplegable con navegador de página, !error¡

a la función pasale el valor (this.options[this.selectedIndex].value)
  #3 (permalink)  
Antiguo 12/10/2010, 17:51
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: Lista desplegable con navegador de página, !error¡

la solucion de IsaBelM es la más sencilla porque pasa el valor del option por la función. luego es cuestión de tomar ese valor y asignarlo en la propiedad href. de todos modos, para que entiendas porque no te funciona el código inicial y así en un futuro no cometer el mismo error. lista es un identificador que pertenece al objeto document. en tu caso, el contexto de intrepretación de la función cambia es el objeto window. por eso te da error, porque lista no esta definido en window.

a nivel más técnico, el HTML DOM define una colección forms en el objeto document, el cual contiene referencia a todos los formularios presentes en el documento. si el formulario contiene un nombre el navegador crea una propiedad con el mismo nombre en el objeto document con la referencia a ese elemento. por ello, para accesar a ese elemento por su nombre tienes que hacerlo desde el objeto document.

nota: hay quienes claman que este concepto no funciona en todos los navegadores, aunque en lo personal siempre me ha funcionado. otro modo de accesar por su nombre es usando la coleccion forms seguido del nombre.
Código:
// cualquiera de las dos son válidas;
document.forms['nombre_formulario'];
document.forms.nombre_formulario;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 13/10/2010, 09:06
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Lista desplegable con navegador de página, !error¡

Hola quiere decir que mi funcion lo cambie así
Código PHP:
function cambia() {
    var 
pagina=this.options[this.selectedIndex].value;
    
location.href=pagina;

Pero no me funciona como deberia poner el código no comprendo bien, gracias por responder
  #5 (permalink)  
Antiguo 13/10/2010, 12:02
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Lista desplegable con navegador de página, !error¡

no, ese valor lo envías cuando invocas a la función

Etiquetas: Ninguno
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 12:51.