JavaScript - Enviar info de un input por medio de un boton con Ajax

 
Vista:
sin imagen de perfil

Enviar info de un input por medio de un boton con Ajax

Publicado por Erick (1 intervención) el 16/06/2016 19:51:31
Buenas expertos,

Tengo una consulta sobre como pasar por medio de un boton (por ajax y asi se mantenga la misma pantalla) la información que tiene un input a otro input.

Por ejemplo, tengo mi input (me trae una descripcion), el cual me crea un autocompletar que se conecta con mi base de datos (lo que sucede es que no se como traer aparte de la descripcion, el id) La cuestión es que me trae mi descripcion, entonces por medio de un boton, vuelvo a la base de datos y me traigo el id de la descripcion y deberia en teoria agregarme el ID en otro input, pero no lo hace, no se que estará mal en mi código.

Les enseño el código y espero me puedan dar una mano. Gracias

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<table>
	<form id="formDP" form="DP" baseUrl="<?=base_url();?>">
	<tr>
		<td><label>Descripción Producto: </label></td>
		<td>
			<div class="input_container">
				<input type="text" id="searchDP1" name="searchDP1" onkeyup="autocomplet()">
 
				<ul id="DP_id"></ul>
			</div>
			<td align="center"><button class="btn btn-default btn-block" data-toggle="tooltip" id="sale-add" title="Agregar" onClick="addDescription();"><span class="glyphicon glyphicon-shopping-cart"></span></button></td>
		</td>
	</form>
 
</table>

Hago el llamado JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function addDescription(){
    var description = $('#searchDP1').val();
    var baseUrl = $('#formRegisterEdition').attr('baseUrl');
    $.ajax({
            type: 'POST',
            url: baseUrl+'sales/searchIdDescription',
            data: {description:description},
            success: function(data){
                var array = eval(data);
                $('#principal-id').val(array[0]);
 
            }
        });
 
}

Hago la búsqueda del Id de la descripcion

1
2
3
4
5
6
7
8
9
10
11
12
public function searchIdDescription(){
	$description = $_POST['description'];
	$idDescription = $this->sales_model->searchIdDescrip($description);
	$id = 0;
	$description = '';
	foreach($idDescription as $row){
		$id = $row['producto_id'];
		//$description = $row['producto_descripcion'];
	}
	$array = array(0 => $id);
	echo json_encode($array);
}

Por último voy a la base de datos y verifico la información.

1
2
3
4
function searchIdDescrip($description){
	$idDP = $this->db->query("SELECT * FROM producto WHERE producto_descripcion = '$description' LIMIT 1");
	return $idDP->result_array();
}

Espero me puedan ayudar. Muchas gracias de antemano.
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 kip
Val: 553
Bronce
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Enviar info de un input por medio de un boton con Ajax

Publicado por kip (107 intervenciones) el 18/06/2016 05:46:36
Hola, en esta linea de aca estas llamando correctamente al baseurl, lo digo porque en el form que colocaste no veo que exista aquel form con aquella id:

1
var baseUrl = $('#formRegisterEdition').attr('baseUrl');

Por lo demas, creo que lo tienes bien.

Nos avisas si lo solucionas.

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