Foros del Web » Programando para Internet » Javascript »

Esto no me funciona

Estas en el tema de Esto no me funciona en el foro de Javascript en Foros del Web. Hola, mirad, tengo este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <div id="botones_forma_pago_retencion <?php echo $z ; ?> ">             ...
  #1 (permalink)  
Antiguo 29/04/2011, 04:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
Esto no me funciona

Hola, mirad, tengo este codigo
Código PHP:
Ver original
  1. <div id="botones_forma_pago_retencion<?php echo $z;?>">
  2.                   <a id="btn_anadir" class="img_anadir" name="anadir_forma_pago_retencion" title="Añadir" href="../../paginas/facturas/retenciones.php?id_factura=<?php echo $id_factura;?>&anadir_forma_pago_retencion=si&nombre_pagina=Introduzca los datos de la forma de pago nueva"></a>
  3.                   <a id="btn_eliminar" class="img_eliminar" name="eliminar_forma_pago_retencion" title="Eliminar" href="../../paginas/facturas/eliminar_forma_pago_retencion.php"></a>
  4.                   <button id="btn_modificar" type="submit" name="modificar_forma_pago_retencion" title="Modificar" class="boton_imagen"></button>
  5.                 </div>
  6.                                 <?php
  7.                 //Si existe esta variable es porque se pulsó añadir cargo, asi que traigo el foco hasta aqui
  8.                 if (isset($anadir_fp_reten_existe))
  9.                 {?>
  10.                   <script type="text/javascript">
  11.                     document.getElementById('botones_forma_pago_retencion<?php echo $z;?>').focus();
  12.                   </script>
  13.                   <?php
  14.                 }
  15.                 ?>

Se supone que, cuando recibe la variable 'botones_forma_pago_retencion, tiene que llevar el foco al div. La variable $z es un contador y y tiene el mismo valor, tanto en el nombre del div, como en el codigo javascript.

El codigo fuente que me devuelve es este, que en principio, por lo que veo esta bien, pero vamos, no lleva el foco al div cuando carga la pagina.

Código HTML:
Ver original
  1. <div id="botones_forma_pago_retencion3">
  2.                   <a id="btn_anadir" class="img_anadir" name="anadir_forma_pago_retencion" title="Añadir" href="../../paginas/facturas/retenciones.php?id_factura=13&anadir_forma_pago_retencion=si&nombre_pagina=Introduzca los datos de la forma de pago nueva"></a>
  3.                   <a id="btn_eliminar" class="img_eliminar" name="eliminar_forma_pago_retencion" title="Eliminar" href="../../paginas/facturas/eliminar_forma_pago_retencion.php"></a>
  4.                   <button id="btn_modificar" type="submit" name="modificar_forma_pago_retencion" title="Modificar" class="boton_imagen"></button>
  5.                 </div>
  6.  
  7.                                                   <script type="text/javascript">
  8.                     document.getElementById('botones_forma_pago_retencion3').focus();
  9.                   </script>
  #2 (permalink)  
Antiguo 29/04/2011, 10:45
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: Esto no me funciona

buenas,
en realidad no deberia funcionarte. ¿razon? los elementos <div>, aunque pudieran tener la funcion focus, no hay forma de que ese elemento pueda recibir foco. generalmente, los elementos que pueden recibir foco son aquellos que puedes navegar con la tecla Tab. supongo que tu caso es hacer visible esa area del documento. en tal caso puedes usar la funcion scrollIntoView.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 29/04/2011, 15:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
Respuesta: Esto no me funciona

Hola. En primer lugar, gracias por tu respuesta. Has sido muy amable en responderme.

En segundo lugar, quería comentar, cuando a lo mejor no es el momento mas adecuado, que llevo unos días observando que hay muy pocas respuestas en este foro, no se si será casualidad o que, en cualquier caso, es una pena, puesto que no os imaginais lo que he aprendido gracias a este foro y espero lo que me queda por aprender.

Volviendo al hilo, en otro script si me funciona, con la diferencia de que el en el otro script, el nombre del div no es dinamico, es decir que el nombre del div siempre es el mismo, es po resto por lo que no lo entiendo.
En cuanto a la respuesta de zerokillled, tengo que decir que llevo rato buscando subre la funcion que ha propuesto y no acabo de entenderla.
  #4 (permalink)  
Antiguo 29/04/2011, 15:59
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Esto no me funciona

a ver si con este ejemplo lo entiendes
Cita:
<div style="height: 900px"></div>
<div id="botones_forma_pago_retencion3">
                  <a id="btn_anadir" class="img_anadir" name="anadir_forma_pago_retencion" title="Añadir" href="http://www.forosdelweb.com/paginas/facturas/retenciones.php?id_factura=13&anadir_forma_pago_re tencion=si&nombre_pagina=Introduzca los datos de la forma de pago nueva"></a>
                  <a id="btn_eliminar" class="img_eliminar" name="eliminar_forma_pago_retencion" title="Eliminar" href="http://www.forosdelweb.com/paginas/facturas/eliminar_forma_pago_retencion.php"></a>
                  <button id="btn_modificar" type="submit" name="modificar_forma_pago_retencion" title="Modificar" class="boton_imagen"></button>
                </div>
 
                                                  <script type="text/javascript">
                    document.getElementById('botones_forma_pago_retenc ion3').scrollIntoView(true);
                  </script>

<div style="height: 900px"></div>
lo que hace es hacer scroll hasta que encuentra el elemento. es como scrollTo() pero sin necesidad de indicar el top y left
  #5 (permalink)  
Antiguo 29/04/2011, 16:00
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: Esto no me funciona

nada, solo tienes que reemplazar focus por scrollIntoView. asi de sencillo. ahora bien, lo que desconozco es el soporte en los navegadores. scrollIntoView creo que sera parte del estandar DOM a partir de html5. sin embargo, segun quirksmode, hay bastantes navegadores que ya lo soportan. aca puedes hacer una prueba, http://www.quirksmode.org/dom/tests/scrollintoview.html.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

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