Foros del Web » Programando para Internet » Javascript »

Cursor en ListBox

Estas en el tema de Cursor en ListBox en el foro de Javascript en Foros del Web. Hola a todos!!! Quiero pedirles ayuda con lo siguiente: Tengo una lista desplegable que trae sus valores desde una consulta con PHP a la base ...
  #1 (permalink)  
Antiguo 20/01/2004, 13:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Cursor en ListBox

Hola a todos!!!

Quiero pedirles ayuda con lo siguiente:

Tengo una lista desplegable que trae sus valores desde una consulta con PHP a la base de datos.

Lo que necesito es que el cursor quede posicionado en la lista, ¿cómo lo hago?, por favor ayúdenme, pues he buscado info. y no he dado con la solución.

Saludos.

Yuki27
  #2 (permalink)  
Antiguo 20/01/2004, 17:50
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
Hola, espero no colarme mucho, pero en Javascript me cuelo bastante, espero q si tunait este al loro por si meto mucho la gamba :)

Creo q el siguiente código te puede venir bien.

Código:
<HTML>
<HEAD>
<TITLE>Documento sin t&iacute;tulo</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>

<BODY onLoad="javascript:document.f1.select.focus() ">
<FORM action="" method="get" name="f1">
<SELECT name="select">
  <OPTION value="uno" selected>uno</OPTION>
  <OPTION value="dos">dos</OPTION>
  <OPTION value="tres">tres</OPTION>
</SELECT></FORM>
</BODY>
</HTML>
Si colocas el evento onload dentro de un echo de php, no debería darte problemas.

Suerte.
__________________
______________________________

LaNTRaX
  #3 (permalink)  
Antiguo 20/01/2004, 22:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Otra consulta...

Hola a todos, lo primero es agradecer la respuesta de lantrax.

Quiero consultarles lo siguiente:

Tengo una lista (llamada select) que tiene el foco en el primer valor de la lista por defecto, y cuando selecciono un valor de ella hago click en un botón y me trae datos (al mismo formulario) de acuerdo al valor seleccionado.

Lo que necesito es que cuando me traiga esos datos no se desseleccione el valor de la lista, es decir que el foco No vuelva al primer valor de la lista.

Aquí va el código para que lo entiendan mejor: (JS.php)

<HTML>
<HEAD>
<TITLE>Documento sin título</TITLE>
<BODY onLoad="javascript:document.f1.select.focus() ">
<FORM action="http://intranet/~usuario/JS.php" method="post" name="f1">
<SELECT name="select">

<?php
$MySqlHostname = "x";
$MySqlUsername = "xx";
$MySqlPassword = "xxx";
$MySqlDatabase = "xxxx";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
@mysql_select_db("$MySqlDatabase");
$sql = "SELECT CLAVE, NOMBRES, PATERNO FROM ALUMNO";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{
$CLAVE = $row['CLAVE'];
$NOMBRES = $row['NOMBRES'];
$PATERNO = $row['PATERNO'];

printf("<OPTION value=\"$CLAVE\", \"$NOMBRES\", \"$PATERNO\">$CLAVE $NOMBRES $PATERNO</option>"); }
?>
mysql_free_result($query);
</select>

****hasta aquí me despliega la lista con los alumnos de un colegio*******

<input type="submit" name=boton_ver_datos_alumno value="Ver datos Alumno Seleccionado">

<?
echo $_POST[select];
?> *****lo puse para ver si lee bien el alumno
seleccionado y lo hace ok********

<?
if(isset($_POST['boton_ver_datos_alumno'])){
$sql = "SELECT EDAD FROM ALUMNO WHERE CLAVE= $select";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{

echo '<tr><td>'.$row["EDAD"].'</td><tr>';
}
}
mysql_free_result($query);
?>

****aquí me trae la edad del alumno seleccionado, pero cuando la muestra el alumno seleccionado se desselecciona y queda seleccionado el primer alumno de la lista.****
</form>
</body>
</html>

Por tanto, la consulta es cómo hago para que cuando me traiga los datos (EDAD) del alumno ubicado en una tercera posición (por ejemplo) de la lista no lo desseleccione y no seleccione el primer alumno de la lista.



Espero haber explicado bien, por favor ayúdenme.

Yuki27
  #4 (permalink)  
Antiguo 21/01/2004, 13:34
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
Bueno, a lo mejor el post debería estar en el apartado de php, no se si tecnicamente estara bien per debería funcionar así

Código:
<HTML>
<HEAD> 
<TITLE>Documento sin título</TITLE> 
<BODY onLoad="javascript:document.f1.select.focus() ">
<FORM action="http://intranet/~usuario/JS.php" method="post" name="f1"> 
<SELECT name="select">

<?php 
$compara=$_POST[$select]; 

$MySqlHostname = "x"; 
$MySqlUsername = "xx"; 
$MySqlPassword = "xxx"; 
$MySqlDatabase = "xxxx"; 
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword); 
@mysql_select_db("$MySqlDatabase"); 
$sql = "SELECT CLAVE, NOMBRES, PATERNO FROM ALUMNO";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query)) 
{ 
$CLAVE = $row['CLAVE']; 
$NOMBRES = $row['NOMBRES']; 
$PATERNO = $row['PATERNO']; 

printf("<OPTION value=\"$CLAVE\", \"$NOMBRES\", \"$PATERNO\"");

if ($i==$compara) {printf(" SELECTED");} 

printf(">$CLAVE $NOMBRES $PATERNO</option>"); }
?>
mysql_free_result($query);
</select>

<!--****hasta aquí me despliega la lista con los alumnos de un colegio*******-->

<input type="submit" name=boton_ver_datos_alumno value="Ver datos Alumno Seleccionado"> 

<?
echo $_POST[$ select];

/*****lo puse para ver si lee bien el alumno
seleccionado y lo hace ok********/

<?
if(isset($_POST['boton_ver_datos_alumno'])){
$sql = "SELECT EDAD FROM ALUMNO WHERE CLAVE= $select";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query)) 
{ 

echo '<tr><td>'.$row["EDAD"].'</td><tr>';
}
}
mysql_free_result($query);


/***aquí me trae la edad del alumno seleccionado, pero cuando la muestra el alumno seleccionado se desselecciona y queda seleccionado el primer alumno de la lista.***/

?>
</form>
</body>
</html>
yo lo he probado así y funciona.

Suerte
__________________
______________________________

LaNTRaX
  #5 (permalink)  
Antiguo 21/01/2004, 14:42
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Código...

Hola lantrax

Te quiero pedir todo el código que usaste para probar lo que mencionaste en la última respuesta, pues lo copié y probé y a mi no me funcionó. Tengo la esperanza que me puedas enviar el que tú usaste pues a tí te funcionó.

Por favor respóndeme ok?

Saludos, Yuki27
  #6 (permalink)  
Antiguo 21/01/2004, 17:26
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
Mira, lo he modificado para que no coja valores de la BBDD, pero debería funciona. Solo cambiando las variables deberia ir.

He omitido lineas de acceso a BBDD y he generado un rango de opciones con un bucle

y mas o menos sale

Prueba a ver

Suerte



====================


<HTML>
<HEAD>
<TITLE>Documento sin título</TITLE>
<BODY onLoad="javascript:document.f1.select.focus() ">

<?php
$compara=$select;
?>

<FORM action="alumnos_borrame.php" method="post" name="f1">
<SELECT name="select" onChange="javascript:(this.value)">

<?php

/*$MySqlHostname = "x";
$MySqlUsername = "xx";
$MySqlPassword = "xxx";
$MySqlDatabase = "xxxx";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
@mysql_select_db("$MySqlDatabase");
$sql = "SELECT CLAVE, NOMBRES, PATERNO FROM ALUMNO";
$query = @mysql_query($sql, $dblink);
*/
//while ($row = mysql_fetch_array($query))
//{
//$CLAVE = $row['CLAVE'];
//$NOMBRES = $row['NOMBRES'];
//$PATERNO = $row['PATERNO'];
for ($i=1;$i<=12;$i+=3){

printf("<OPTION value=\"$i\", \"$i\"");
if ($i==$compara){print(" SELECTED");}
printf(">$i $i </option>");
}

//printf("<OPTION value=\"$CLAVE\", \"$NOMBRES\", \"$PATERNO\">$CLAVE $NOMBRES $PATERNO</option>"); }
//}

//mysql_free_result($query);
?>
</select>
<?php echo($select);?>


<input type="submit" name=boton_ver_datos_alumno value="Ver datos Alumno Seleccionado">

<?
echo $_POST[$select];
?>

<?
/*if(isset($_POST['boton_ver_datos_alumno'])){
$sql = "SELECT EDAD FROM ALUMNO WHERE CLAVE= $select";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{

echo '<tr><td>'.$row["EDAD"].'</td><tr>';
}
}
mysql_free_result($query);
*/
?>

</form>
</body>
</html>

==============
__________________
______________________________

LaNTRaX
  #7 (permalink)  
Antiguo 21/01/2004, 22:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias...

Hola lantrax, lo primero es decirte que sí me funcionó, así que ahora probaré trayendo los valores desde la BD.

Gracias por tú tiempo.

yuki27
  #8 (permalink)  
Antiguo 22/01/2004, 13:49
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Consulta...

Hola lantrax y a todos.

Probé el código trayendo los valores de la base de datos, pero el problemita es que luego de hacer la consulta con el valor de la lista éste No queda seleccionado y realmente no sé donde pueda estar el error. Te paso el código para que por favor lo veas y me digas dónde puedo estar fallando.

"JS.php"

<HTML>
<HEAD>
<TITLE>Documento sin título</TITLE>
<BODY onLoad="javascript:document.f1.select.focus() ">
<FORM action="http://intranet/~usuario/JS.php" method="post" name="f1">
<SELECT name="select">
<?php
$compara=$_POST[$select];

$MySqlHostname = "x";
$MySqlUsername = "xx";
$MySqlPassword = "xxx";
$MySqlDatabase = "xxxx";
$dblink=MYSQL_CONNECT($MySqlHostname, $MySqlUsername, $MySqlPassword);
@mysql_select_db("$MySqlDatabase");
$sql = "SELECT CLAVE, NOMBRES FROM ALUMNO";
$query = @mysql_query($sql, $dblink);
while ($row = mysql_fetch_array($query))
{
$CLAVE = $row['CLAVE'];
$NOMBRES = $row['NOMBRES'];

printf("<OPTION value=\"$CLAVE\", \"$NOMBRES\"");
if ($i==$compara) {printf(" SELECTED");}

printf(">$CORRELATIVO $NOMBRES </option>");

}
?>

?>
</select>
<input type="submit" name=boton_ingresar value="Ingresar">
<?
echo $_POST[select];
?>
</form>
</body>
</html>

Inclusive probé con una variable de control pero tampoco me funciona

espero que me puedas ayudar porque realmente es muy importante poder solucionar esto.

Gracias y por favor respóndeme ok?

Yuki27
  #9 (permalink)  
Antiguo 22/01/2004, 21:27
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 20 años, 7 meses
Puntos: 0
Problema solucionado

Hola a todos, especialmente a lantrax, pues quiero decirle que ya solucioné el problemita, sól estaba en la línea:

$compara=$_POST[$select];

ya que debe ser: $compara=$select;

Lo anterior es por si le sirve a alguíen con un problemita parecido.

Gracias por la ayuda.

Yuki27
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 21:41.