PHP - Cargar datos en text a partir de un select dentro del mismo formulario

 
Vista:

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 26/04/2017 21:50:40
Buenas, tengo una duda! Tengo un formulario para registrar solicitudes de servicios donde tengo código, fecha, un select, dos caja de texto que dependen del selct y unos checkbox..... El código , el select y los checkbox se generan de unas tablas.... El select contiene las identificaciones de los clientes y las dos cajas de texto que dependen de la selección del select son id y nombre cliente, al pulsar el select deberían llenarse esas cajas según el valor del select pero como están dentro del mismo formulario no se ejecuta como submit con Onchange?, ya que también tengo el botón del formulario que al final ejecutaría el acción de form registrar.PHP.... No se si me explico bien!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ferney
Val: 26
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Ferney (17 intervenciones) el 27/04/2017 00:19:33
No entendí muy bien.
Lo que dices mas o menos es que al colocar en un campo de texto un código traiga otros datos de una bd de ese codigo?
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 27/04/2017 01:17:44
Si bueno al seleccionar una opcion de un select(combox), pero los que he conseguido son de la siguiente forma, el select pertenece a un formulario principal y al seleccionar se ejecuta un onchange como submit, y los campos que se llenan están en un segundo formulario incluso dentro de la misma pagina html! Mi caso es el select y las cajas de texto son del mismo formulario, esta código, seletc y luego las dos cajas que se llenan según el select! Los valores del select son cargados de la base de datos, incluso cuñado los traigo podría guardar el nombre del cliente en una variable con un ciclo pero luego para el evento no se que hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lina
Val: 24
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Lina (15 intervenciones) el 27/04/2017 01:39:38
Te toca con AJAX!, pasa un poco de tu codigo para ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 27/04/2017 02:08:44
Me lo imagine , y en ajax estoy en cero! Pero bueno vamos a intentarlo! Ya te dejo parte del codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 27/04/2017 02:30:34
A allí esta el select y luego los dos campos que se deberían cargar, ese es solo el form , hay otros campos pero esos son rellenados por el usuario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<form name="registrarSd" action="../../controls/Solicitud_Registrar.php" method="post">
 <label>Código: </label>
<input name="indiceCA" type="text"/>
 
<label>Fecha: </label>
<input name="fechaSd" type="text" class="sizeinput" onkeyup="enmascarar(this,'/',patron,true)" maxlength="10" required>
 
<label>Cliente: </label>
<select name="cliente" required>
    <option value="">Seleccionar</option>
    <?php
       include'../../controls/Solicitud_ CargarD.php';
       $result= new CargarDatos();
       $result->CargarCliente();
 
     while($result=mysqli_fetch_array($maxi->getCargarValor()))/*$result tiene cdigo y nombre*/
          {
             echo "<option>".$result['Cedula_C']."</option>";
          }
       ?>
   </select>
 
<label>Código: </label>
<input name=”CódigoCliente” type=”text” />
 
<label>Nombre: </label>
<input name=”NombreCliente” type=”text”>
 
<input name="reset" value=" Limpiar " type="reset"/>
 
<input name="enviar" value="Registrar" type="submit"' />

</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lina
Val: 24
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Lina (15 intervenciones) el 27/04/2017 14:58:23
Hola cristian,

Te dejo un ejemplo, cualquier duda por aqui estare suerte.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<form name="registrarSd" action="../../controls/Solicitud_Registrar.php" method="post">
 <label>Código: </label>
<input name="indiceCA" type="text"/>
 
<label>Fecha: </label>
<input name="fechaSd" type="text" class="sizeinput" onkeyup="enmascarar(this,'/',patron,true)" maxlength="10" required>
 
<label>Cliente: </label>
<select name="cliente" required onchange='mifuncion(this.value)'>
    <option value="">Seleccionar</option>
    <?php
       include'../../controls/Solicitud_ CargarD.php';
       $result= new CargarDatos();
       $result->CargarCliente();
 
     while($result=mysqli_fetch_array($maxi->getCargarValor()))/*$result tiene cdigo y nombre*/
          {
             echo "<option>".$result['Cedula_C']."</option>";
          }
       ?>
   </select>
 
<label>Código: </label>
<input name=”CódigoCliente” id="CodigoCliente"  type=”text” />
 
<label>Nombre: </label>
<input name=”NombreCliente” id ="NombreCliente" type=”text”>
 
<input name="reset" value=" Limpiar " type="reset"/>
 
<input name="enviar" value="Registrar" type="submit" />
 
</form>
<!-------------------IMPORTANTE INCLUIR LA LIBRERIA DE JQUERY EN TU HEAD!------>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script  type="text/javascript" >
 
 
	function mifuncion(valor){
		$.ajax({
			// la URL para la petición
			url : 'ajax.php',
 
			// la información a enviar en este caso el valor de lo que seleccionaste en el select
			data : { valor : valor },
 
			// especifica si será una petición POST o GET
			type : 'POST',
 
			// el tipo de información que se espera de respuesta
			dataType : 'json',
 
			// código a ejecutar si la petición es satisfactoria;
			success : function(json) {
				//aqui recibimos el "echo" del php(ajax.php)
				//y ahora solo colocas el valor en los campos
				$("#NombreCliente").value=json.nombre;
				$("#CodigoCliente").value=json.codigo;
			},
 
			// código a ejecutar si la petición falla;
			error : function(xhr, status) {
				alert('Disculpe, existió un problema');
			}
});
	}
 
</script>
<!-----------------------TU ARCHIVO AJAX.PHP --------------------------------->
<?php
 
//el dato que enviamos a traves de ajax
$valor=$_POST['valor'];
 
//esta variable es para retornar los datos
$jsondata = array();
 
//la consulta que necesites para trer el codigo y el nombre del cliente
$query="Select codigo,nombre from la table where id_cliente=$valor";
 
$r=mysql_query($query);
$resultados= mysqli_fetch_array($r);
 
$nombre=$resultados['nombre'];
$codigo=$resultados['codigo'];
 
//agregamos nuestros datos al array para retornarlos
$jsondata['nombre'] = $nombre;
$jsondata['codigo'] = $codigo;
 
//este header es para el retorno correcto de datos con json
 header('Content-type: application/json; charset=utf-8');
 echo json_encode($jsondata);
 
?>


Una recomendación, No pongas nombre ni id con tildes como <input name=”CódigoCliente” type=”text” />
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 27/04/2017 19:22:21
Hola,tengo una duda quien es ajax como lenguaje?, porque veo es un código javascript y uno PHP, osea saber cuando se implementa?, lo que puedo entender es, ajax se implementa cuando se utilizan funciones javascript pero que se necesita obtener datos de la base de datos , es así?.... Y respecto al código que m ehas pasado lo he implementado pero no se ejecuta acción alguna, he verificado que el onchange funcione con un simple alert, que se extraigan los datos de la base de datos, debo revisar el código ya que lo he tipeado, y cuando implementó la librería de ajax no necesito ningún archivo extra?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lina
Val: 24
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Lina (15 intervenciones) el 27/04/2017 22:12:34
Hola,

Ajax lo que te permite es en pocas palabras ejecutar acciones en segundo plano

Ahi para que leas:
http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=882:ique-es-y-para-que-sirve-ajax-ventajas-e-inconvenientes-javascript-asincrono-xml-y-json-cu01193e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206

Revisa el codigo y mira la consola del navegador para ver si te sale algun error de sintaxis o algo.
solo necesitas incluir Jquery nada mas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 28/04/2017 05:02:44
Gracias por el link, aclarada la duda de ajax y pss si estaba un poco claro del tema, pero sirvió de mucho la lectura :-) , respecto al código ya corregí los errores de sintaxis o de tipo por mi parte, pero aun no realiza acción alguna , hice varías pruebas y el sal, el echo del uncode-json imprime los valores correctos eso asignando el id desde el mismo ajax.php, el alert de error se ejecuta! No se donde resta el detalle si cuando enviamos la variable valor al archivo ajax.PHP o cuando mostramos los valores en las cajas, alguna manera de realizar pruebas de que los pasos se estén cumpliendo!, debe ser algún detalle pero no se cual seria :-( ,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 28/04/2017 05:33:40
Realice dentro del
1
2
3
4
succes:función(json)
{
Alert('Codigo'+json.codigo);
}

Así verifique si el value del select estaba pasando a la función javascript y de allí al archivo ajax.PHP y si estaba retornando datos y fue correcto! Entonces es de suponer que es cuando enviamos los valores a las cajas donde no se ejecuta, es mi opinión pero desconozco el código

1
2
3
4
5
succes:función(json)
{
$("#CodigoCliente").value=json.codigo;
$("#NombreCliente").value=json.nombre;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lina
Val: 24
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Lina (15 intervenciones) el 28/04/2017 14:37:14
hola cristian de nuevo,

Una pregunta si incluiste el id al tu input?

1
2
3
4
5
6
<input name=”CódigoCliente” id="CodigoCliente"  type=”text” />
 
intenta asi:
 
$("#CodigoCliente").val(json.codigo);
$("#NombreCliente").val(json.nombre);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por cristian Pinto (8 intervenciones) el 28/04/2017 17:10:42
Hola! Si inclui el id, lo hice con el document.getElementby('NombreCliente').value=json.nombre; y ya funciona igual probaré con la forma que me has pasado (también funciona de la manera que me has pasado), comento que primera vez pido asistencia a un foro y la ayuda y respuesta ha sido satisfactoria , muchísimas gracias lina por tu tiempo para ayudarme, eres grande :-) , ya estaré revisando un poco más sobre ajax... Y muchas gracias nuevamente!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar datos en text a partir de un select dentro del mismo formulario

Publicado por Irl9 (1 intervención) el 30/04/2020 02:30:28
Tengo una duda, al realizar todo me manda el alert q algo esta mal pero tengo todo exactamente bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar