Foros del Web » Creando para Internet » HTML »

me pueden ayudar con el siguiente codigo de un menu Drop Donw

Estas en el tema de me pueden ayudar con el siguiente codigo de un menu Drop Donw en el foro de HTML en Foros del Web. Alguien me puede ayudar con el siguiente codigo de un menú Drop Down : <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function formHandler(form){ var valor= document.form.site.value if (valor ...
  #1 (permalink)  
Antiguo 19/04/2003, 14:58
energy182
Invitado
 
Mensajes: n/a
Puntos:
Exclamación me pueden ayudar con el siguiente codigo de un menu Drop Donw

Alguien me puede ayudar con el siguiente codigo de un menú Drop Down :




<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
function formHandler(form){

var valor= document.form.site.value

if (valor == "Seleccione uno...")
{
alert("Atención. El valor introducido no es correcto");
return (false);
}
else{

var URL = document.form.site.options[document.form.site.selectedIndex].value;
window.location.href = URL;
return (true);
}
}
// End -->
</SCRIPT>

<SELECT id=select1 onChange="javascript:formHandler()" name=site style="FONT-SIZE: xx-small; BACKGROUND-ATTACHMENT: scroll; BORDER-TOP-STYLE: solid; BORDER-TOP-COLOR: darkblue; FONT-FAMILY: arial;" size="1">
<option value="Seleccione uno...">Seleccione uno...</option>
<option value="account.asp">Datos de su cuenta</option>
<option value="new_auto.asp">Agregar un nuevo anuncio</option>
<option value="show.asp">Mostrar anuncios existentes</option>
<option value="show.asp">Borrar un anuncio existente</option>
<option value="show.asp">Modificar un anuncio exsitente</option>
<option value="end.asp">Terminar Sesión</option>
</select>






es que no se como susituir valores para que funcione bien, por ejemplo:


<option value="show.asp ">Mostrar anuncios existentes</option>


Sustituyo "show.asp " por un URL ó el nombre del documento y su extensión, asi: "documento.html ".


Porfavor ayudenme, gracias de ante-mano.
  #2 (permalink)  
Antiguo 19/04/2003, 16:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Hola energy182:

Trataré de explicarte...

A primera vista hay un pequeño problema de coherencia...
Fíjate que la función tiene unparámetro que no se usa. Aunque no debería influír, deberías evitar ese tipo de incoherencias.

Para ese tipo de función puedes poner como parámetro el "value", y se te simplificarían las cosas...

<SELECT id=select1 onChange="formHandler(this.value)"...>
(El resto del select no debería cambiarse.

Luego la función sería mucho más sencilla...

function formHandler(sitio){
//var valor= document.form.site.value
if (sitio == "Seleccione uno...") {
alert("Atención. El valor introducido no es correcto");
return (false);
}
else{
window.location.href = sitio;
return (true);
}
}

No sé si los return false / true son útiles, pero me parecen innecesarios...

Si necesitas una mejor explicación, no dudes en comentarlo.

Saludos
  #3 (permalink)  
Antiguo 19/04/2003, 17:13
energy182
Invitado
 
Mensajes: n/a
Puntos:
oye, muchas gracias, pero me podrias explicar mas acerca de esto, es que la verdad no se mucho y no entendi mucho, porfavor.
  #4 (permalink)  
Antiguo 20/04/2003, 00:27
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Hola otra vez:

Trataré de explicarte mejor.
En tu ejemplo usas el método onchange del select, y significa que haga lo que quieras (lo que se pone detrás del onchange), cuando se produce un cambio... (cambio en la selección).
Así, si despliegas el select, pero no varías el elemento seleccionado, el evento no se activa.

A la función que activas, le puedes pasar todos los parámetros que quieras, y en este caso, lo que te interesa es el parámetro value.

El atributo value del select es el mismo que el value de la opción activa, entonces no tienes más que poner en cada entrada option, el value correspondiente a la página destino.

Como el value del primer elemento no es ninguna página en la función que usas, tienes que evitar hacer el salto (location.href)...
En el resto de los casos, tan solo tienes que asignar la dirección del value que has seleccionado, al atributo href del objeto location.

Resumiendo:

A la función que quieras activar con el evento onchange del select, tienes que pasarle un parámetro, y si ese parámetro es una dirección, tan solo tendrías que realizar el salto.

Bueno, si sigues teniendo dudas, te trataré de explicar mejor... aunque sería mejor que detallaras qué cosa no entiendes.

Saludos
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 20:35.