Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Pequeño problema con script y select

Estas en el tema de Pequeño problema con script y select en el foro de Jquery en Foros del Web. Saludos foreros! Tengo un pequeño problema con un script de jquery que espero me ayuden a resolver. Soy un completo aprendiz, por tanto idea... poca. ...
  #1 (permalink)  
Antiguo 30/04/2013, 04:27
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Pequeño problema con script y select

Saludos foreros!

Tengo un pequeño problema con un script de jquery que espero me ayuden a resolver. Soy un completo aprendiz, por tanto idea... poca.

El script que tengo es para mostrar valores en select dependiendo de la elección de un select anterior. Provincias y poblaciones.

formulario.php
Código Javascript:
Ver original
  1. <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  2. <script>
  3.     $(document).on("ready",function()
  4.     {
  5.         $('#lista1').on("change",function()
  6.         {
  7.             var id = $('#lista1').val();
  8.             var metodo = $('#formulario').attr('method')
  9.             $.ajax(
  10.             {
  11.                 url:"mostrarpoblaciones.php",
  12.                 type:metodo,
  13.                 data:{identidad: id},
  14.                 success: function(resp)
  15.                 {
  16.                    
  17.                     $('#slista').html(resp);
  18.                
  19.                 },
  20.                 error: function(jqXHR,estado,error)
  21.                 {
  22.                    
  23.                     alert("No se ha podido realizar la consulta a la base de datos, por favor intentelo de nuevo");
  24.                    
  25.                 }
  26.                    
  27.                
  28.                
  29.             });
  30.            
  31.            
  32.         });
  33.        
  34.        
  35.     });
  36.  
  37. </script>
Código HTML:
Ver original
  1. </head>
  2. <form id="formulario" action="" method="post">
  3.     <table>
  4.         <tr>
  5.             <td>
  6.                 <select id="lista1" name="lst1" class="field select addr">
  7.                     <?php
  8.                        include("obtenerprovincias.php")
  9.                    ?>
  10.                 </select>
  11.             </td>
  12.             <td id="slista">
  13.            
  14.            
  15.             </td>
  16.          
  17.         </tr>
  18.            
  19.        
  20.        
  21.        
  22.         </tr>
  23.     </table>
  24.    
  25. </form>
  26. </body>
  27. </html>

Mediante este script se obtienen las provincias:
obtenerprovincias.php
Código PHP:
<?php
$c
=mysql_connect("localhost","root","");
mysql_select_db("clientes",$c);

$consulta="SELECT * FROM lista_provincias";
$completa=mysql_query($consulta,$c);?>


        <?php
            
while ($fila=mysql_fetch_assoc($completa))
            {
        
?>

                <option value="<?php echo $fila['id'];?>"><?php echo $fila['opcion'];?></option>
                

        <?php
                
            
}
        
?>
y mediante este se muestran las poblaciones:
mostrarpoblaciones.php
Código PHP:
<?php
$c
=mysql_connect("localhost","root","");
mysql_select_db("clientes",$c);
$id=$_POST['identidad'];

$consulta="SELECT DISTINCT id, opcion FROM lista_poblaciones WHERE id = $id ORDER BY opcion ASC";
$completa=mysql_query($consulta,$c);?>
<select id="lista2" name="lst2">

        <?php
            
while ($fila=mysql_fetch_assoc($completa))
            {
        
?>

                 <option value="<?php echo $fila['opcion'];?>"><?php echo $fila['opcion'];?></option>


        <?php
                
            
}
        
?>
</select>
Aquí funciona todo correctamente, el problema es cuando lo intento insertar en un formulario mayor que me da error en la línea $id=$_POST['identidad']; de mostrarpoblaciones.php

Algún alma caritativa me dedica unos minutos?

PD: EL código del formulario mayor no puedo postearlo ya que supera el número de caracteres.

Un saludo y gracias por su atención!
  #2 (permalink)  
Antiguo 30/04/2013, 11:33
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 16 años, 4 meses
Puntos: 12
Respuesta: Pequeño problema con script y select

Cambia POST por GET para recibir el id, por defecto Ajax manda todo por GET, o en $.ajax pon method: post.

Descargate firebug, con el puedes revisar las peticiones Ajax.

$id=$_GET['identidad'];
  #3 (permalink)  
Antiguo 30/04/2013, 11:50
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pequeño problema con script y select

lo probaré!
Como funcione te invito a una coca-cola!
Aunque te la tenga que enviar por mensajería internacional!
  #4 (permalink)  
Antiguo 02/05/2013, 01:34
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pequeño problema con script y select

Cita:
Iniciado por Rosencrantz Ver Mensaje
Cambia POST por GET para recibir el id, por defecto Ajax manda todo por GET, o en $.ajax pon method: post.

Descargate firebug, con el puedes revisar las peticiones Ajax.

$id=$_GET['identidad'];
Amigo, probé lo que me dijiste, y se soluciona el error de index undefined en la línea de $id['identidad']; pero no me carga las poblaciones.
Sí las provincias, pero se supone que debe cargarse las poblaciones cuando haya seleccionado una provincia.

Si alguien sabe donde puede estar el error...
  #5 (permalink)  
Antiguo 02/05/2013, 04:48
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pequeño problema con script y select

Cita:
Iniciado por the_sheriff_pino Ver Mensaje
Amigo, probé lo que me dijiste, y se soluciona el error de index undefined en la línea de $id['identidad']; pero no me carga las poblaciones.
Sí las provincias, pero se supone que debe cargarse las poblaciones cuando haya seleccionado una provincia.

Si alguien sabe donde puede estar el error...
Ya he solucionado eso, pero tenía montado todo mi formulario en POST, y para que funcione el jQuery ha de estar en GET.

¿Existe alguna manera de cambiar jQuery para que funcione con POST?
  #6 (permalink)  
Antiguo 02/05/2013, 08:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Pequeño problema con script y select

éstas usando el method del form para el $.ajax:

var metodo = $('#formulario').attr('method')

por lo tanto depende de ello, o definelo manualmente, no necesariamente tiene que ser el del form, además que lo ideal es usar GET cuando se trata de consultas, y POST para actualizaciones.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 02/05/2013, 09:52
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Pequeño problema con script y select

Esa era la cuestión, definirlo manualmente!

GRacias por los comentarios y las magníficas ayudas!

Etiquetas: pequeño, select
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 13:22.