Foros del Web » Programando para Internet » Javascript »

coge el foco y luego lo pierde

Estas en el tema de coge el foco y luego lo pierde en el foro de Javascript en Foros del Web. Hola a todos, La intencion de este codigo es que cuando clique el boton el foco se quede en el boton que he clicado, la ...
  #1 (permalink)  
Antiguo 26/01/2010, 09:47
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 0
coge el foco y luego lo pierde

Hola a todos,

La intencion de este codigo es que cuando clique el boton el foco se quede en el boton que he clicado, la razon por la que quiero hacer esto es que tengo una lista de formularios y quiero evitar que al hacer clic en uno la pagina al refrescarse se vaya al principio.
si pongo el codigo de esta forma, al clicar en un boton de un formulario me aparece en pantalla el alert y durante un momento hace el foco, luego se va el foco, me gustaria que se quedara el foco, agradeceria si alguien me pudiese dar una pista; he probado a hacer:
echo '<input type="hidden" name="ok" id="'.'el_dato_'.$id.'" value="'.'el_dato_'.$id.'" >';
pero no e funciona.
Agradeceria si a alguien se le ocurriese la solucion
gracias y que vaya bien


<html>
<head>

<script type="text/javascript">
function getfocus(id)
{
alert(id);
document.getElementById(id).focus();
}
</script>

</head>
<body>

<?php

while($fila=mysql_fetch_array ($resultado)){

$resultado=consultar("select * from noticias ");
$id=$fila["id"];
$id=$fila["id"];
echo '<form method="post" onsubmit="return getfocus(\'el_dato_'.$id.'\');" >';
echo '<input type="hidden" name="ok" value="'.'el_dato_'.$id.'" >';
echo '<input type="submit" value="ver noticia completa">';
echo '</form>';
}

?>
</body>
</html>
  #2 (permalink)  
Antiguo 26/01/2010, 11:27
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: coge el foco y luego lo pierde

¿me imagino que el form se envía normalmente no?, como la pagina se recarga pierdes del foco, porque en ningún momento la funcion getfocus devuelve false para evitar que se envie el form y la pagina se recargue, con ajax seria lo contrario.

si es así como funciona, deberías pasar el id del input por get o post para luego aplicarle el foco desde js:

<script type="text/javascript">
function getfocus(id)
{
alert(id);
document.getElementById('id_input')=id; //debes colocar un input hidden id_input en el form
}
</script>

<body onload="document.getElementbyId('<?php echo $_POST['id_input']; ?>').focus();" >

Etiquetas: foco, pierde
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:17.