Foros del Web » Programando para Internet » Javascript »

Buscar registro en BD con onBlur()

Estas en el tema de Buscar registro en BD con onBlur() en el foro de Javascript en Foros del Web. Hola buenas noches. Esta es mi primera intervención en el foro, soy novato programando con PHP y JavaScript y estoy enfrascado con un problema que ...
  #1 (permalink)  
Antiguo 08/09/2013, 19:57
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Buscar registro en BD con onBlur()

Hola buenas noches. Esta es mi primera intervención en el foro, soy novato programando con PHP y JavaScript y estoy enfrascado con un problema que no encuentro en los temas de los Foros.

Con Delphi era muy fácil colocar después de un DBEdit, conteniendo un ID de producto, el evento onExit, en donde hacía una búsqueda en una base de datos y traía como resultado un campo Descripción que lo colocaba en otro DBEdit.

En PHP todo cambia. En el formulario con HTML coloco en un "input hidden" un array con el resultado de una consulta en PHP, como sigue:

Código HTML:
<form action="partidas.php" method="POST" name="partidaForm">
   <fieldset>
      <input type="hidden" name="catalogoProductos" id="catalogoProductos" value="<?=$catalogo;?>" /> 
En donde $catalogo es el resultado de una consulta SELECT en PHP.

Posteriormente está el código del campo ID en el Formulario HTML:

Código HTML:
<p>
   <label for="idProducto">Clave Producto</label>
   <input type="text" name="idProducto" value="" onBlur="getProducto();" class="minimum-width-input round" />
</p> 
Tengo el inicio de la función en JavaScript:

Código:
function getProducto() {
	var idProducto = partidaForm.idProducto.value;
	var catalogoProductos = partidaForm.catalogoProductos.value;
En donde podría hacer una búsqueda en el array de dos dimensiones (una columna tiene el ID y la otra la DESCRIPCION que se trajo de la consulta SELECT) para localizar el ID del producto y color a través de JavaScript la descripción en el campo "descripcion" del formulario.

No funciona así, en JavaScript el valor de "catalogoProductos" es la palabra "Array" y no su contenido, qué me sugieren hacer para poder validar con el evento onBlur la existencia de la clave del producto y escribir la descripción en el momento en el formulario.

Espero haberme explicado y gracias por su paciencia.

Última edición por acalderonr; 08/09/2013 a las 20:06
  #2 (permalink)  
Antiguo 09/09/2013, 02:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: Buscar registro en BD con onBlur()

Hola:

Parece que lo que pones en el value es lo que php tiene... posiblemente $catalogo sea un array, y tengas que especificar algún índice (tal vez $catalogo[0] o $catalogo[$i])... para javascript no vale el código php sino lo que el lenguaje genera, así que debes mirar el código fuente del navegador.

Y porque javascript funciona en el navegador, para obtener valores de una base de datos, debes hacer una petición al servidor y éste al gestor de base de datos... tal vez con Ajax...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 09/09/2013, 15:49
 
Fecha de Ingreso: septiembre-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Buscar registro en BD con onBlur()

Hola caricatos, buenas tardes.

Gracias por tu respuesta, en efecto, revisé el Código HTML en el explorador y el parámetro es textual la palabra "Array".

Por otro lado me gustaría saber si es posible de alguna forma pasar el Array completo (su contenido) como parámetro a una función en JavaScript, ya que al no tener acceso a la base de datos desde JavaScript podría realizarse la búsqueda sobre el Array pasado como parámetro.

Tienes idea si se puede? o bien, qué otra cosa me sugerirías? (de plano meterme con Ajax?)

Etiquetas: formulario, onblur
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 04:41.