Foros del Web » Programando para Internet » PHP »

Problema al cargar un select desde JSON en un archivo php

Estas en el tema de Problema al cargar un select desde JSON en un archivo php en el foro de PHP en Foros del Web. Hola a todos, pongo aqui este post, aunque sea de JSON por que no veo mejor opción. A ver os cuento mi problemilla, tengo un ...
  #1 (permalink)  
Antiguo 15/04/2016, 12:12
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Información Problema al cargar un select desde JSON en un archivo php

Hola a todos, pongo aqui este post, aunque sea de JSON por que no veo mejor opción.

A ver os cuento mi problemilla, tengo un formulario que tiene varios 'select' que se cargan con JSON. Todo funciona perfecto hasta que meto el formulario dentro de un metodo, vamos que cuando aprietas el boton de registrarse por ejemplo y se muestra el formulario pues entonces dejan de cargarse los 'selects'.
Si el formulario lo saco de la función y se carga con la pagina, claro ya es accesible desde el script de javaScript.
Pongo algo de código pero tengo claro que esto ocurre por que el JSON se carga con la página, y el formulario no se carga en el DOM hasta que no se pulsa el boton. ¿Como puedo solucionar esto?


Código:
    function displayFormRegistro($elementos){

    echo'<section id="login_form" class="oculto login_form_tamanyo" >';
    	echo'<h4>Introduzca sus datos</h4>';
    echo'<form name="logeo" action="index.php" method="POST" id="form_login">';

//aqui algunos campos de texto

        echo'<fieldset>';
     // Este select  por ejemplo no se carga, tengo que sacar el <form> de la función
       echo'<select name="provincia" id="provincia">';
           
               echo'</select>';         
	echo'<br>';


        echo'</fieldset>';
                echo'</form>';
        echo'</section>';

     }
Ahorra como comento el principio del archivo JSON, como digo funciona perfectamente.

Código:
       window.onload=function(){   
     provincias = document.getElementById('provincia');
¿Como podría hacer para que al apretar el boton se llamara al archivo que carga los selects?
  #2 (permalink)  
Antiguo 15/04/2016, 12:18
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Problema al cargar un select desde JSON en un archivo php

Se que esto no es php pero aqui hay una solucion

con jquery existe un metodo llamado -> on

$('body').on('click','#mi_btn', function(){
//aqui tu formulario
});
  #3 (permalink)  
Antiguo 16/04/2016, 14:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Problema al cargar un select desde JSON en un archivo php

Hola SDP. Lo conozco y ya la utilizo. Pero eso no sirve. Como comentas el método 'on' se utiliza para que JQUERY reconozca un elemento creado dinamicamente o a posterior a la carga de la página.
Eso ya lo hago, y los botones que hay en el formulario funcionan perfectamente utilizando el método 'on'.
El problema esta que al pulsar por ejemplo el boton registrarse, y se carga o aparece el formulario gracias a JQUERY, los combo o select que se cargan gracias a un script JSON que hace la petición no es llamado, por lo que no se cargan los elementos. No se si me explico.
Abría que buscar una formula, que al pulsar el boton de por ejemplo registrarse, se llamara a el script JSON que carga los combos o selects. Yo lo hago asi:


Partimos que el formulario es oculto con una clase css con visibility:hidden y que al pulsar un boton le quito esa clase con JQUERY y lo hago visibible. Al hacerlo visible, es cuando se debería llamar a ese script JSON que carga los combos. Yo lo que hago es:

Código:

    //Boton que lanza el formulario o lo hace visible por JQUERY
   echo'<input type="button" id="reg" name="registrar" value="Registrarse"/>';

   //Al principio del script PHP tengo esto:
   if(!isset($_POST['registrar'])){
     displayFormRegistro(array());
    }

   //Boton del formulario que al pulsar se envía
 echo'<input type="submit" id="btn_registro" name="registrar" value="aceptar"/>';
Osea al cargar el script index.php el formulario se instancia y el JSON si funciona solo falta hacerlo visible al pulsar el boton anterior. Asi funciona bien, pero no me parece la solución ideal.
Yo buscaba algo tipo que al pulsar el primer boton, el que via JQUERY hace visible el formulario se llamara al script JSON que hace la petición que carga los combos y selects

Etiquetas: formulario, json, registro, 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 19:22.