Foros del Web » Programando para Internet » Javascript »

Problemas con formulario dinamico

Estas en el tema de Problemas con formulario dinamico en el foro de Javascript en Foros del Web. Hola Estoy haciendo un formulario en el cual manejo 2 selects; el primero me trae una lista de ciudades en forma dinamica desde una base ...
  #1 (permalink)  
Antiguo 26/04/2011, 09:35
Avatar de lord_clown  
Fecha de Ingreso: marzo-2011
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Problemas con formulario dinamico

Hola

Estoy haciendo un formulario en el cual manejo 2 selects; el primero me trae una lista de ciudades en forma dinamica desde una base de datos mysql y el segundo me trae los municipios dependiendo de la ciudad que se selecciona.

El proceso funciona correctamente lo que no entiendo y no se porque esté pasando es que cuando selecciono la ciudad me borra la información del select de ciudades pero si me manda los municipios en el segundo select.

Este codigo lo he venido utilizando por mucho tiempo y nunca me había fallado, la verdad que no encuentro la causa; les dejo el codigo a ver si alguien me puede ayudar.

Este es el codigo javascript:

Código:
<script language="javascript">
		function esta_muni(xMuni) {
		document.forms.fecalen.municipio.disabled = true;
		document.forms.fecalen.estado.length = 0;
		lista_municipio(xMuni);
		document.forms.fecalen.estado.disabled = false; 
		}
		function lista_municipio(xEsta) {
		var listar2
		document.forms.fecalen.municipio.disabled=true;
		<?php
		
		$municipio = mysql_query("SELECT * FROM municipio ORDER BY nombre_mun");
		while ($regmunicipio = mysql_fetch_array($municipio)) {
		?>
		if (xEsta == <?php echo $regmunicipio["id_edo"]; ?>) {
		listar2 = document.createElement("OPTION");
		listar2.text = '<?php echo $regmunicipio["nombre_mun"]; ?>';
		listar2.value = <?php echo $regmunicipio["id_mun"]; ?>;
		document.forms.fecalen.municipio.options.add (listar2);
		} 
		<?php
		}
		mysql_free_result($municipio);
		
		?> 
		document.forms.fecalen.municipio.disabled=false;
		}

		</script>
Y este es el codigo del Formulario:

Código:
<form action="#" method="post" id="formulario" name="fecalen">

<select name="estado" id="estado" onchange="esta_muni(document.forms.fecalen.estado[selectedIndex].value);">
                							<option value=" ">- - - - Seleccionar - - - -</option>
				                        	<?php
											
												$empresa = mysql_query('SELECT * FROM estado ORDER BY nombre_edo');
												while($fila_empresa = mysql_fetch_array($empresa)) {	
                    						?>
                    						<option value="<?php echo $fila_empresa['id_edo'] ?>">
                    						<?php 
                   	 						echo $fila_empresa['nombre_edo']; ?></option>
                    						<?php 	 } 
                    						mysql_free_result($empresa);
                    						?>
                							</select>

<select name="municipio" id="municipio">
                							<option value=" ">- - - - Seleccionar - - - -</option>
                							</select>
</form>
Como les digo he trabajado con este mismo codigo y en otras aplicaciones que tengo me funciona de maravilla, aqui no entiendo el porque me borre la información del primer select.

Saludos
  #2 (permalink)  
Antiguo 26/04/2011, 11:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 14 años
Puntos: 528
Respuesta: Problemas con formulario dinamico

Si el select de ciudades es el que llamas estados, el problema está en la linea
document.forms.fecalen.estado.length = 0;
ahí estás indicando que el select estados contiene 0 opciones, supongo que en vez de estado debería ser municipio.
  #3 (permalink)  
Antiguo 26/04/2011, 15:36
Avatar de lord_clown  
Fecha de Ingreso: marzo-2011
Mensajes: 43
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problemas con formulario dinamico

Si tenias razón . . . quedó perfecto.

Gracias de verdad que ya no le encontraba.

Saludos

Etiquetas: dinamico, formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:22.