Foros del Web » Programando para Internet » Javascript »

Necesito una mano, please

Estas en el tema de Necesito una mano, please en el foro de Javascript en Foros del Web. Hola, soy demasiado nueva en esto y estoy trabajando en la pagina web de mi empresa, aqui se trabaja con administrador de contenidos lo que ...
  #1 (permalink)  
Antiguo 05/09/2007, 07:25
kru
 
Fecha de Ingreso: septiembre-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Necesito una mano, please

Hola, soy demasiado nueva en esto y estoy trabajando en la pagina web de mi empresa, aqui se trabaja con administrador de contenidos lo que hace todo mas facil, hay una opcion que me deja meter en una pagina codigo html(que no manejo), pero buscando descubri que puedo crear listas desplegables.
Lo que yo quiero es poner dos listas desplegables que la segunda dependa de la primera (eso ya lo logre), lo que ahora me falta es agregar un boton que entienda lo que seleccione en las listas y al apretarlo me abra en una ventana nueva un link (que ya tengo definido).

yo hoy en mi codigo tengo lo que pondre aqui, ni idea si esta bien o mal, la verdad es que con suerte se como poner letra en negrita o cursiva con html:
por fa ayudenmen se puede hacer lo que yo quiero??

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">

// Valores posibles de las opciones del primer "select"
var valores_select_1=new Array("Certificación de Sistemas","Certificación de productos ISO CASCO 5"," Certificación de productos ISO CASCO 1,2,3,4,7,8","Laboratorios de Calibración","Laboratorios de Ensayo");

// Valores posibles de las opciones del segundo "select"
// Valores asociados a la primera opción del primer "select" ("Certificación de Sistemas")
var fila1= new Array("Sist. Gestión de Calidad","Sist. Aseguramiento HACCP","Sist. Gestión PYME","Sist. Gestión Ambiental","Sist. Gestión Seguridad y Salud ocupacional");

// Valores asociados a la segunda opción del primer "select" ("Certificación de productos ISO CASCO 5")
var fila2= new Array("Artículos de Protección Personal","Materiales para Obras e Instalaciones Sanitarias","Materiales de Construcción","Productos Eléctricos","Productos y Artefactos para Combustibles Gaseosos","Dispositivos Médicos","Extintores Portátiles");

// Valores asociados a la tercera opción del primer "select" ("Certificación de productos ISO CASCO 1,2,3,4,7,8")
var fila3= new Array("Artículos de Protección Personal","Materiales para Obras e Instalaciones Sanitarias","Materiales de Construcción","Productos Eléctricos","Productos y Artefactos para Combustibles Gaseosos","Dispositivos Médicos","Extintores Portátiles");

// Valores asociados a la cuarta opción del primer "select" ("Laboratorios de Calibración")
var fila4= new Array("Magnitud Masa I","Magnitud Masa II","Magnitud Temperatura I"," Magnitud Temperatura I I"," Magnitud Volumen");

// Valores asociados a la quinta opción del primer "select" ("Laboratorios de Ensayo")
var fila5= new Array("Extintores","Productos de Combustibles","Productos Eléctricos","Alimentos y Productos Hidrobiológicos","Aguas y Riles","Utensilios, Superficies, Ambiente y Manipuladores","Química de Mínerales","Química para juegos, Lodos, Rises y Juguetes","Construcción – Hormigones y Morteros","Construcción – Mecánica de Suelos y áridos");
// Array de filas de opciones
var valores_select_2= new Array(fila1,fila2,fila3,fila4,fila5);

// Escribe el código HTML correspondiente a las opciones de un "select"
// tomando como valores los registrados en el array que recibe como parámetro
function escribir_opciones_select(valores)
{
for (var i=0; i < valores.length; i++)
window.document.writeln('<OPTION VALUE="'+valores[i]+'">'+
valores[i]+'</OPTION>');
}

// Actualiza las opciones del segundo "select" en función de la opción
// seleccionada en el primero.
function cambiar_select_2(formulario,valores_select_1,valor es_select_2)
{
// Obtención del índice activo en el primer "select"
var indice=formulario.select_1.selectedIndex;

// Actualización de las valores de las opciones posibles del segundo "select"
formulario.select_2.length=valores_select_2[indice].length;
for (var i=0; i < valores_select_2[indice].length; i++)
{
formulario.select_2.options[i].text=valores_select_2[indice][i];
formulario.select_2.options[i].value=valores_select_2[indice][i];
}
// Se activa la primera opción del segundo "select"
formulario.select_2.selectedIndex=0;
}

</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formulario">
<left>
<FONT SIZE=2><i>Seleccione:</i></FONT>
<SELECT NAME="select_1"
onChange="cambiar_select_2(this.form,valores_selec t_1,valores_select_2)">
<SCRIPT LANGUAGE="JavaScript">
escribir_opciones_select(valores_select_1)
</SCRIPT>
</SELECT>
&nbsp;&nbsp;&nbsp;
<br> <FONT SIZE=2><i>Seleccione Área, Producto o Magnitud:</i></FONT>
<SELECT NAME="select_2">
<SCRIPT LANGUAGE="JavaScript">
escribir_opciones_select(valores_select_2[0])
</SCRIPT>
</SELECT><BR>
</CENTER>
</FORM>
</BODY>
</HTML>
  #2 (permalink)  
Antiguo 06/09/2007, 12:56
kru
 
Fecha de Ingreso: septiembre-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
listas desplegables con links a paginas web

Hol, de nuevo, pregunto ya que no tuve respuesta ayer !
Estoy creando una página web y necesito un codigo html que me permita tener dos listas desplegables (la primera depende de la segunda), por ej pais y ciudad, y que luego de elegir pais y ciudad yo aprete un boton y me dirija a distintas paginas web dependiendo de la ciudad!
SE entiende??? POrfa necesito ayuda, o al menos una pequeña orientacion
Muchas gracias al que pueda ayudarme y tb a los que leen!
  #3 (permalink)  
Antiguo 06/09/2007, 13:06
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 19 años, 4 meses
Puntos: 638
Re: listas desplegables con links a paginas web

hola, como que te leo en desespero, jajaja, bueno, si lo que quieres es un empujoncito, tratare de ayudarte, me imagino que la lista que tienes es en un formulario con un select, verdad?
Código HTML:
<form name="lista">
<select>
<option value="pagina_tal.html">pagina tal</option>
<option value="pagina_mascual.html">pagina mascual</option>
</select>
<input tape="submit" value="IR">
</form> 
prueba asi, creo que debe funcionar

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 06/09/2007, 15:37
kru
 
Fecha de Ingreso: septiembre-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: listas desplegables con links a paginas web

que emocion que me contestaron!! no sabes lo que he aprendido con estos foros!!
Muchas Gracias, la verdad es que lo q me pusiste esta bastante mas cerca que lo que tenia asi que gracias, pero ahora nose como unir las cosas.
Lo que pasa es que yo tenia un tremendo codigo que me creaba dos listas deplegables donde la segunda dependia de la primera, y lo que quiero es que dp de haber seleccionado opcion en la primera y segunda lista, haya un boton que me envie a una pagina web (segun opciones elegidas)

este es el tremendo codigo que yo tengo, que parece que no sirve:)...alguien me puede decir si se hace asi, o de la otra forma mas cortita que puso ROGERTM o con una mezcla

GRACIAS A TODOS LOS Q PASAN

Código HTML:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">

   // Valores posibles de las opciones del primer "select"
   var valores_select_1=new Array("Certificación de Sistemas","Certificación de productos ISO CASCO 5"," Certificación de productos ISO CASCO 1,2,3,4,7,8","Laboratorios de Calibración","Laboratorios de Ensayo");

   // Valores posibles de las opciones del segundo "select"
   // Valores asociados a la primera opción del primer "select" ("Certificación de Sistemas")
   var fila1= new Array("Sist. Gestión de Calidad","Sist. Aseguramiento HACCP","Sist. Gestión PYME","Sist. Gestión Ambiental","Sist. Gestión Seguridad y Salud ocupacional");

   // Valores asociados a la segunda opción del primer "select" ("Certificación de productos ISO CASCO 5")
   var fila2= new Array("Artículos de Protección Personal","Materiales para Obras e Instalaciones Sanitarias","Materiales de Construcción","Productos Eléctricos","Productos y Artefactos para Combustibles Gaseosos","Dispositivos Médicos","Extintores Portátiles");

   // Valores asociados a la tercera opción del primer "select" ("Certificación de productos ISO CASCO 1,2,3,4,7,8")
   var fila3= new Array("Artículos de Protección Personal","Materiales para Obras e Instalaciones Sanitarias","Materiales de Construcción","Productos Eléctricos","Productos y Artefactos para Combustibles Gaseosos","Dispositivos Médicos","Extintores Portátiles");

   // Valores asociados a la cuarta opción del primer "select" ("Laboratorios de Calibración")
   var fila4= new Array("Magnitud Masa I","Magnitud Masa II","Magnitud Temperatura I"," Magnitud Temperatura I I"," Magnitud Volumen");
   
   // Valores asociados a la quinta opción del primer "select" ("Laboratorios de Ensayo")
   var fila5= new Array("Extintores","Productos de Combustibles","Productos Eléctricos","Alimentos y Productos Hidrobiológicos","Aguas y Riles","Utensilios, Superficies, Ambiente y Manipuladores","Química de Mínerales","Química para juegos, Lodos, Rises y Juguetes","Construcción – Hormigones y Morteros","Construcción – Mecánica de Suelos y áridos"); 
   // Array de filas de opciones 
   var valores_select_2= new Array(fila1,fila2,fila3,fila4,fila5);

   // Escribe el código HTML correspondiente a las opciones de un "select"
   // tomando como valores los registrados en el array que recibe como parámetro
   function escribir_opciones_select(valores)
   {
   for (var i=0; i < valores.length; i++)
      window.document.writeln('<OPTION VALUE="'+valores[i]+'">'+
                            valores[i]+'</OPTION>');
   }
 
   // Actualiza las opciones del segundo "select" en función de la opción
   // seleccionada en el primero.
   function cambiar_select_2(formulario,valores_select_1,valores_select_2)
   {
   // Obtención del índice activo en el primer "select"
   var indice=formulario.select_1.selectedIndex;
   
   // Actualización de las valores de las opciones posibles del segundo "select"
   formulario.select_2.length=valores_select_2[indice].length;
   for (var i=0; i < valores_select_2[indice].length; i++)
      {
      formulario.select_2.options[i].text=valores_select_2[indice][i];
      formulario.select_2.options[i].value=valores_select_2[indice][i];
      }
   // Se activa la primera opción del segundo "select"
   formulario.select_2.selectedIndex=0;   
   }
  
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formulario">
   <left>
      <FONT SIZE=2><i>Seleccione:</i></FONT>
   <SELECT NAME="select_1"
    onChange="cambiar_select_2(this.form,valores_select_1,valores_select_2)">
      <SCRIPT LANGUAGE="JavaScript">
         escribir_opciones_select(valores_select_1)
      </SCRIPT>
   </SELECT>
   &nbsp;&nbsp;&nbsp;
  <br> <FONT SIZE=2><i>Seleccione Área, Producto o Magnitud:</i></FONT>
   <SELECT NAME="select_2">
      <SCRIPT LANGUAGE="JavaScript">
         escribir_opciones_select(valores_select_2[0])
      </SCRIPT>
   </SELECT><BR>
   </CENTER>
</FORM>
</BODY>
</HTML> 
  #5 (permalink)  
Antiguo 06/09/2007, 15:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 858
Antigüedad: 18 años, 9 meses
Puntos: 4
Re: Necesito una mano, please

Mira este codigo:

Cita:
<html>
<title>Javascript 2</title>
<script lenguage='javascript'>
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}



function agregarOpciones(form)
{
var selec = form.s1.options;
var combo = form.s2.options;
combo.length = null;

if (selec[0].selected == true)
{
var seleccionar = new Option("Seleccione un rango","","","");
combo[0] = seleccionar;
}

if (selec[1].selected == true) {
var oo = new Option("Seleccione un rango","","","");
var o1 = new Option("Todos","casas.htm","","");
var o2 = new Option("300,000 a 650,000","http://google.com","","");
var o3 = new Option("601,000 a 950,000","http://tacoketo.com","","");
var o4 = new Option("951,000 a 1,500,000","http://tonterias.com","","");
var o5 = new Option("1,500,000 en adelante","http://gusanito.com","","");
combo[0] = oo;
combo[1] = o1;
combo[2] = o2;
combo[3] = o3;
combo[4] = o4;
combo[5] = o4;
}

if (selec[2].selected == true) {
var o1 = new Option("Todos","1","","");
var o2 = new Option("300,000 a 650,000","2","","");
var o3 = new Option("601,000 a 950,000","3","","");
var o4 = new Option("951,000 a 1,500,000","4","","");
var o5 = new Option("1,500,000 en adelante","5","","");
combo[0] = o1;
combo[1] = o2;
combo[2] = o3;
combo[3] = o4;
combo[4] = o5;
}
if (selec[3].selected == true) {
var o1 = new Option("Todos","1","","");
var o2 = new Option("300,000 a 650,000","2","","");
var o3 = new Option("601,000 a 950,000","3","","");
var o4 = new Option("951,000 a 1,500,000","4","","");
var o5 = new Option("1,500,000 en adelante","5","","");
combo[0] = o1;
combo[1] = o2;
combo[2] = o3;
combo[3] = o4;
combo[4] = o5;
}
if (selec[4].selected == true) {
var o1 = new Option("Todos","1","","");
var o2 = new Option("300,000 a 650,000","2","","");
var o3 = new Option("601,000 a 950,000","3","","");
var o4 = new Option("951,000 a 1,500,000","4","","");
var o5 = new Option("1,500,000 en adelante","5","","");
combo[0] = o1;
combo[1] = o2;
combo[2] = o3;
combo[3] = o4;
combo[4] = o5;
}
if (selec[5].selected == true) {
var o1 = new Option("Todos","1","","");
var o2 = new Option("300,000 a 650,000","2","","");
var o3 = new Option("601,000 a 950,000","3","","");
var o4 = new Option("951,000 a 1,500,000","4","","");
var o5 = new Option("1,500,000 en adelante","5","","");
combo[0] = o1;
combo[1] = o2;
combo[2] = o3;
combo[3] = o4;
combo[4] = o5;
}

}
// -->
</script>
</head>
<body>
<form name="frm">
<select name="s1" onChange="agregarOpciones(this.form)">
<option value="">[Selecciona el tipo de propiedad que desea buscar]</option>
<option value="casas">Casas</option>
<option value="terrenos">Terrenos</option>
<option value="deptos">Departamentos</option>
<option value="locales">Locales</option>
<option value="bodegas">Bodegas</option>
</select>

<select name="s2" onChange="MM_jumpMenu('parent',this,0)">
<option value=""> Seleccione un rango </option>
</select>
</form>
</body>
</html>
saludos
__________________
*La amistad se multiplica cuando se divide*

Última edición por reimonfranco; 06/09/2007 a las 15:51
  #6 (permalink)  
Antiguo 07/09/2007, 06:48
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 19 años, 4 meses
Puntos: 638
Re: Necesito una mano, please

WOW...! me acuesto en una habitacion y amanezco en la otra, jajaja, (este post lo unieron con otro), bueno, al grano, mira, yo de javascript lo unico que se es que se llama javascript y realmente lo uso poco, pero si usas dreamweaver tienes una opcion en las pesta*ña de los formularios que se llama jump menu, que te pone este codigo:
esto en el head:
Código:
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
y el formulario en el body:
Código:
<form name="form1" id="form1">
    <select name="menu1" onchange="MM_jumpMenu('parent',this,0)">
        <option value="pagina.html">pagina</option>
    </select>
</form>
bueno este ejemplo te llevaria directamente a pagina.html, pero investiga esta opcion, recuerdo que una vez use esto para hacer lo que quieres, que una lista dependiera de otra, ahora mismo no tengo el codigo aqui, era con php, si lo encuentro en mi casa te lo traigo (pero el lunes por que ya no trabajo mas, es fin de semana )

bueno, adelante caminante, si te enredas no fear, que aqui to se resuelve, pero si le pones empeño.

saludos y suerte

AH...! ayer lo olvide, BIENVENIDA A FDW.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #7 (permalink)  
Antiguo 07/09/2007, 10:14
kru
 
Fecha de Ingreso: septiembre-2007
Mensajes: 11
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Necesito una mano, please

estoy a punto de lograr mi tarea gracias a todos sus consejos!!
MUCHAS GRACIAS!! SE PASARON!
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 19:20.