Foros del Web » Programando para Internet » Javascript »

Consulta basica de una principiante

Estas en el tema de Consulta basica de una principiante en el foro de Javascript en Foros del Web. Hola: tengo un text box donde ingreso un codigo, y un combo con la descripcion, de la siguiente manera: <td heidth='200'> <input type='text' name='codigo' value='<?= ...
  #1 (permalink)  
Antiguo 10/10/2006, 10:19
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
Hola: tengo un text box donde ingreso un codigo, y un combo con la descripcion, de la siguiente manera:

<td heidth='200'>
<input type='text' name='codigo' value='<?= $codigo;?>' maxlength='250' size='20'></td>
<td><select name='novedad'>
<? echo llenarCombo("SELECT con_id,con_nombre FROM hbr_conceptos"
,$novedad,false);?>
</select> </td>

Necesito hacer que en el textbox pueda ingresar el codigo correspondiente a la descripcion y que me lo actualise al perder el foco.
Como puedo hacer, disculpen pero yo no manejo javascript todavia...Graciassssssss

Hola, estoy intentando hacer lo que plantie antes...
que al escribir un numero codigo en un txt, pueda actualizar el combo cuando pierde el foco
Yo puse esto:

<td heidth='200'> <input type='text' name='codigo' value='<?= $codigo;?>' maxlength='250' size='20' onchange ="$sql="SELECT con_nombre FROM hbr_conceptos WHERE con_codigo='codigo.value'"; $resu=mysql_query($sql,$dbi);$fila=$mysql_fetch_ar ray($resu);$con_nombre=$fila["con_nombre"]; novedad.value='$con_nombre'"></td>

<td><select name='novedad'>
<? echo llenarCombo("SELECT con_id,con_nombre FROM hbr_conceptos",$novedad,false);?>
</select> </td>

Pero claro...no funciona...me orientan??

Última edición por KarlanKas; 10/10/2006 a las 13:33
  #2 (permalink)  
Antiguo 10/10/2006, 17:54
Avatar de jorge25  
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela, San Juan de Los Morros.
Mensajes: 165
Antigüedad: 18 años, 5 meses
Puntos: 1
Hola. Bueno soy nuevo en javascript al igual que tú.

Solo te digo algo: creo que eso no se hace como dices, a menos que actualices la página. Si quieres hacerlo sin actualizar la página debes usar AJAX.

Es lo que pienso, si estoy errado, que alguien aclare.
__________________
Debian GNU/Linux 4.0 "Etch"

La felicidad no es un camino, es un estado de ánimo. Jorge Morgado
  #3 (permalink)  
Antiguo 11/10/2006, 02:30
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 10 meses
Puntos: 0
Esto hay dos maneras de hacerlo. Puedes realizar una consulta previa y meter en un array de javascript los valores pertenecientes a sus codigos:

Código:
<script language="javascript" type="text/javascript">
<!--
//Matriz con las descripciones
var descripcion=array();
<?php
$sql="SELECT con_codigo,con_nombre FROM hbr_conceptos"; 
$resu=mysql_query($sql,$dbi);
while ($fila=mysql_fetch_array($resu)) {
?>
descripcion[<?php echo $fila['con_codigo']; ?>]="<?php echo $fila['con_nombre']; ?>";
<?php
}
?>
//Genero una funcion por si el codigo no existe q lo verifique previamente
function muestradescripcion (codigo,f) {
     if (descripcion[codigo]!=undefined) {
          f.novedad.value=descripcion[codigo];
     } else {
          alert ("El código introducido no tiene una descripción asociada.");
     }
}
//-->
</script>
De esta forma se genera una matriz con los datos q necesitas. Si son demasiados es preferible usar AJAX para q la carga no sea tan grande.

Luego en el HTML solo hay q hacerle lo siguiente:

Código HTML:
<input type='text' name='codigo' value='<?= $codigo;?>' maxlength='250' size='20' onBlur='muestradescripcion(this.value,this.form)'> 
Lo he hexo a pelo aquí así q no sé si será 100% funcional o si me habré comío algo. Espero q al menos te oriente y te pueda funcionar. De todas formas seguro q en las FAQs hay algo parecido o mejor hexo q este ejemplo.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #4 (permalink)  
Antiguo 11/10/2006, 08:08
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 18 años, 11 meses
Puntos: 1
Hola amigo!! lo estoy probando pero no me funciona, el tema es que no se cual puede ser el error...
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 18:29.