Foros del Web » Programando para Internet » Javascript »

Colocar foco en div

Estas en el tema de Colocar foco en div en el foro de Javascript en Foros del Web. Hola amigos. Tengo un problema pues al validar los datos de un form (es una encuesta) le doy a votar y los envio y se ...
  #1 (permalink)  
Antiguo 08/06/2010, 12:32
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Colocar foco en div

Hola amigos. Tengo un problema pues al validar los datos de un form (es una encuesta) le doy a votar y los envio y se genera una gráfica a mostrarse en un div. El problema es que el form de la encuesta esta en el pie de la pagina y quiero que al enviarlos el foco se vaya al principio de la página que es donde se muestra el gráfico.

No se como hacer esto. Segun lei se hace con focus, pero no se como hacerlo. Por favor si me pueden dar alguna sugerencia. Gracias.
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 08/06/2010, 12:36
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Colocar foco en div

Hola

Un div no puede tener focus. Podrías usar un ancla

Suerte

Edito: Necesitaremos una maquina de numeración como en los supermercados
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 08/06/2010 a las 12:42
  #3 (permalink)  
Antiguo 08/06/2010, 12:36
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Colocar foco en div

con focus no puedes porque DIV no es un tipo de elemento que recibe foco. lo que se me ocurre es que le asignes un ID al DIV, o si ya lo tienes pues bien. luego que envie el formulario, le asignas el valor de ID a la propiedad location.hash. o sea, el ID tambien funciona como un ancla y con location.hash le indicas a cual ancla el navegador debe posicionarse.

@edit,
¡vaya Adler, cosas que pasan! saludos

@edit,
otro mas! JavierB
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 08/06/2010, 12:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Colocar foco en div

Hola kimmy

focus es para los elementos de un formulario. Puedes probar con:

Código Javascript:
Ver original
  1. location='#';

¡Ostras! tres respuestas en el mismo minuto

Saludos,
  #5 (permalink)  
Antiguo 08/06/2010, 12:46
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Colocar foco en div

gracias a todos pero estoy tan enredada. La gráfica se muestra en una tabla que está en un div. Lo que quiero hacer es que vaya hacia arriba después de darle enviar al form que está abajo.
__________________
Caminando con el corazón partío
  #6 (permalink)  
Antiguo 08/06/2010, 12:56
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Colocar foco en div

el llega asi al div:

Código HTML:
Ver original
  1. <div id="cont" align="center">
  2. <img src="dgrafica.php">
  3. </div>

entonces segun lo que me indicaron debería hacer algo asi:

window.location.hash = "cont" pero no se donde se coloca????
__________________
Caminando con el corazón partío
  #7 (permalink)  
Antiguo 08/06/2010, 13:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Colocar foco en div

kimmy, ¿sabes que odio? dar muchas vueltas, y eso sucede cuando el mensaje esta falto de detalles. por lo poco que has explicado creo entender que el formulario se envia mediante AJAX, porque de lo contrario no tiene sentido pedir que el documento muestre un área en particular ya que en la modalidad normal los formularios desechan el documento actual para cargar uno nuevo. si es en AJAX, entonces tu formulario de alguna manera tiene una funcion asignada en el evento onsubmit. en ese evento es donde tienes que poner el código necesario para instruir al navegador moverse al ancla determinado.

si no lo estas haciendo con AJAX, entonces la respuesta del formulario tendrias que indicar en la URL el ancla pero creo que eso ya se hace desde el lado servidor.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 08/06/2010, 13:07
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Colocar foco en div

zerokilled no te molestes, lo que pasa es que a veces no sabemos como plantear la pregunta (no todas las cabezas son iguales). Asi pasa el código:

Código PHP:
Ver original
  1. <?php
  2. //Conectamos con la base de datos
  3.     require('configuracion.inc.php');
  4.     $enlace = mysql_connect($host,$usuario,$password);
  5.     mysql_select_db($db,$enlace);
  6.    
  7. //Seleccionamos la informacion de la última encuesta insertada
  8.     $consulta = "SELECT * FROM encuestas ORDER BY fecha DESC LIMIT 0,1";
  9.     $consulta = mysql_query($consulta,$enlace);
  10.     while($row = mysql_fetch_array($consulta)){
  11.         $titulo=$row["titulo"];
  12.         $fecha=$row["fecha"];
  13.         $id=$row['id'];
  14.     }
  15. ?>
  16. <head>
  17. <script language="javascript">
  18. function check() {
  19. alert("Gracias por su voto!!!");
  20. }
  21. </script>
  22. </head>
  23. <body>
  24. <form name="form1" method="post" action="index.php" target="cont">
  25.     <table width="350" border="0">
  26.     <tr>
  27.       <td colspan="2"><?php echo $titulo; ?>
  28.       <input type="hidden" name="id" value="<?php echo $id;?>"></td>
  29.     </tr>
  30.     <?php
  31.     $sql = "SELECT texto, id FROM respuestas WHERE idenc=\"$id\"";
  32.     $sql = mysql_query($sql,$enlace);
  33.     while($row = mysql_fetch_array($sql)){
  34.         $texto=$row["texto"];
  35.         $idres=$row["id"];
  36. ?>
  37.     <tr>
  38.       <td width="51"><input type="radio" name="opcion" value="<?php echo $idres; ?>"></td>
  39.       <td width="283"><?php echo $texto; ?></td>
  40.     </tr>
  41.     <?php } ?>
  42.     <tr>
  43.       <td><input type="submit" name="Submit" value="Enviar" onClick="check()" ></td>
  44.        
  45.       <td><a href="index.php" target="cont">Ver resultados</a></td>
  46.     </tr>
  47.   </table>
  48. </form>
  49. </body>

y se muestra arriba asi, Claro la pagina tiene mas cosas:

Código HTML:
Ver original
  1. <div id="cont" align="center">
  2.        <img src="dgrafica.php">
  3.   </div>

Gracias por ayudarme y comprendeme un poquito :)
__________________
Caminando con el corazón partío
  #9 (permalink)  
Antiguo 08/06/2010, 13:14
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Colocar foco en div

Hola

Ya por cerrar el tema, no habría que hacerlo del lado del servidor, solo tendría que añadirle al action del form, en su caso, #cont y recogerlo así

Cita:
<a name="cont"><div align="center">
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #10 (permalink)  
Antiguo 08/06/2010, 13:29
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Colocar foco en div

¡hhmmm, muy bien Adler! ya pensaba yo que no se podia indicar el ancla en la URI de action. llegue a esta conclusion porque una vez vi parametros en la URI del action y estos no se mostraban en la peticion GET. entonces pense que lo mismo sucederia con cualquier otra cosa como el ancla.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 08/06/2010, 13:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Colocar foco en div

Muchas Gracias Adler!!!
__________________
Caminando con el corazón partío

Etiquetas: foco
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:05.