Foros del Web » Programando para Internet » Javascript »

problema con combos anidados

Estas en el tema de problema con combos anidados en el foro de Javascript en Foros del Web. Hola amig@s!! Tengo un problema con una función de rellenaCombo(valor, formulario) que, creo recordar, antes funcionaba correctamente. No sé en qué momento se me fué ...
  #1 (permalink)  
Antiguo 28/02/2011, 13:19
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
problema con combos anidados

Hola amig@s!!
Tengo un problema con una función de rellenaCombo(valor, formulario) que, creo recordar, antes funcionaba correctamente.
No sé en qué momento se me fué o si realmente no llegué a probarla... total, que me tiene frita.
Ocurre que esta función la tengo que llamar desde bastantes formularios de mi sitio, siempre nombrando a select rellenado con el mismo id. Pero los formularios se llaman de distinta forma. Por eso mando un parámetro con el nombre del form y lo recojo como formulario.
Pero cuando quiero hacer document.formulario.loquesea me dice que document.formulario es undefined.
Antes de hacer esto estaba usando una función de rellenaCombo distinta para cada form que la requiere, pero me resulta una cantidad de código totalmente innecesaria.

Bueno, espero haberos aclarado bien mi duda y que alguien pueda darme la solución lo más pronto posible.
Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 28/02/2011, 13:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 4 meses
Puntos: 51
Respuesta: problema con combos anidados

Podés poner el código?
  #3 (permalink)  
Antiguo 28/02/2011, 15:29
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: problema con combos anidados

Aquí tienes walterdevel
Código Javascript:
Ver original
  1. function rellenaCombo(id, formulario)
  2. {
  3.     document.formulario.id_select.length=0;
  4.     document.formulario.id_select.options[0] = new Option("","","defaultSelected","");
  5.     var indice=1;
  6.     <?
  7.         $conexion = conectar();
  8.         $sql = "SELECT * from tabla ";
  9.         $rs = mysql_query($sql, $conexion);
  10.         if(mysql_num_rows($rs)>0)
  11.         {
  12.             while($row = mysql_fetch_assoc($rs))
  13.             {
  14.    
  15.     ?>
  16.     if(id=='<?=$row["id"]?>')
  17.     {
  18.     document.formulario.id_select.options[indice] = new Option("<?=$row["nombre"]?>","<?=$row["nombre"]?>");
  19.     indice++;
  20.     }
  21.     <?
  22.             }
  23.         }
  24.     ?>
  25. };

Luego esta función la llamo desde php
Código PHP:
onchange='javascript:rellenaCombo(this.value, document.formulario.campohidden.value)' 
Una nota aclaratoria: Para mandar el nombre e id del formulario(que son el mismo) creo un input hidden con value igual a ese nombre.

Gracias por tu respuesta!!

Etiquetas: anidados, combos
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 18:40.