Foros del Web » Programando para Internet » Javascript »

Ingresar código en caja 1 y mostrar descripción en caja 2 automaticamente

Estas en el tema de Ingresar código en caja 1 y mostrar descripción en caja 2 automaticamente en el foro de Javascript en Foros del Web. Agradecería infinitamente si alguien me puede dar una mano en lo siguiente: Estoy trabajando en un proyecto (apoyado con php) en el cual tengo un ...
  #1 (permalink)  
Antiguo 16/01/2013, 16:00
 
Fecha de Ingreso: noviembre-2012
Mensajes: 13
Antigüedad: 11 años, 5 meses
Puntos: 1
Pregunta Ingresar código en caja 1 y mostrar descripción en caja 2 automaticamente

Agradecería infinitamente si alguien me puede dar una mano en lo siguiente:

Estoy trabajando en un proyecto (apoyado con php) en el cual tengo un formulario de ingreso de articulos al inventario (recepcion de facturas de proveedores) en donde tengo cuatro cajas de texto:

-codigo
-descripcion
-cantidad
-costo_unid

pero el asunto es que quisiera validar antes el articulo, es decir, necesito introducir el código del articulo en la caja= código y que al darle click a la caja= descripción, me muestre la descripción automaticamente en dicha caja, y si al darle click a la caja descripción no encuentra el articulo, que me muestre el mensaje que el articulo no esta registrado.

la idea es que para ingresar el articulo al inventario solo se digite el codigo y que me muestre la descripcion automaticamente y sin recargar la pagina, oviamente todo los articulos que se ingresan ya estan registrados en la base de datos (mysql), pero si no es asi, para eso necesito validarlo, crearia el registro del articulo, para luego sumarlo al inventario ya que no puedo recibir articulos que no tenga en mi registro.


Nota: Se ingresar, mostrar, modificar, elimiar registro mysql con php, lo unico que necesito es la funcion ,parametros,etc. que me ayude a mostrar la descripcion automaticamnte.

Espero no haber redactado mi solicitud muy confusamente, y si me falta algun otro dato que agregar para hacer mas claro el planteamiento, favor detallenlo.

Gracias de antemano .
  #2 (permalink)  
Antiguo 16/01/2013, 16:13
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Ingresar código en caja 1 y mostrar descripción en caja 2 automaticamente

Bueno desde ya te digo que para que ingreses un determinado código y te muestre su correspondiente descripción en el campo "descripción" el cual tenes en tu base de datos, sin recargar la pagina, vas a precisar usar AJAX, para poder consultar esos datos a travez de js y que el servidor te devuelva el resultado.

Podrías comenzar por leer algo sobre AJAX para ver de que se trata, tendrás que usar el evento onblur de javascript para capturar el momento en que salgas del campo "código" una vez ingresado el mismo y asi recien consultar a la BD para ver si existe el o no ese código y si es que existe recién mostrar la descripcion de dicho articulo.

Creo que esta puede ser una solución, pero sin AJAX no podrás hacerlo.
  #3 (permalink)  
Antiguo 16/01/2013, 16:56
 
Fecha de Ingreso: noviembre-2012
Mensajes: 13
Antigüedad: 11 años, 5 meses
Puntos: 1
Busqueda Respuesta: Ingresar código en caja 1 y mostrar descripción en caja 2 automaticamente

Gracias rodrigo791 por tu pronta respuesta...

Leyendo y leyendo he encontrado este codigo:

index.html
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enviar formulario sin recargar</title>
<script language="javascript" src="jquery-1.3.min.js"></script>
<script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#loading').show();
        $('#result').hide();
    }).ajaxStop(function() {
        $('#loading').hide();
        $('#result').fadeIn('slow');
    });
    $('#form, #fat, #fo3').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#result').html(data);

            }
        })
        
        return false;
    }); 
})  
</script>
</head>
<body>
<form method="post" action="consulta.php" id="fo3" name="fo3" >
      <fieldset>
      	<legend>Consulta</legend>
        <ol>
        	<li><label>Codigo:</label><input type="text" size="30" name="codigo" /></li>
        </ol>
        <input type="submit"   name="mysubmit" value="Enviar" />
      </fieldset>
</div>
</form>
<div id="result"></div><!-- en este DIV se muestra el resultado de la consulta-->
</body>
</html> 
El cual se digita el código en la caja y al dar click al submit muestra el resultado en un div realizando la consulta en un .php el cual detallo.

consulta.php
Código actionscript:
Ver original
  1. <?
  2. include('conexion.php');
  3.  
  4.  
  5.                 $query = "SELECT * FROM articulos WHERE codigo ='".$_POST['codigo']."'";
  6.                 $result = mysql_query($query);
  7.                 do
  8.                 {
  9.                     if($result)
  10.                     {
  11.                         echo $row['descripcion'];
  12.                     }
  13.                     else
  14.                     {
  15.                         $error = 'Articulo no existe ';
  16.                         echo $error;
  17.                     }
  18.                 }
  19.                 while($row = mysql_fetch_array($result));
  20.                 mysql_free_result($result);
  21. ?>

Este script funciona pero el problema es que en el DIV (index.hmtl)donde se muestra el resultado solo refleja el valor true , es decir solo si encuentra el articulo pero si no lo encuentra no refleja el mensaje de error (que no existe)

A parte de eso no se como mostrar el resultado en la caja y no en el DIV.

En resumen lo logro hacer a medidas, y valiendome de un submit , aunque este no recargue la pag.

algún comentario al respecto, sea bienvenido.

Etiquetas: automaticamente, caja, formulario, funcion
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 16:32.