Foros del Web » Programando para Internet » Javascript »

Accediendo a botones con acciones

Estas en el tema de Accediendo a botones con acciones en el foro de Javascript en Foros del Web. Hola. Soy muy nuevo en esto. No bastante, muy. Necesito "acceder" a un "boton" colocado en una tabla mediante un script. El código de la ...
  #1 (permalink)  
Antiguo 03/10/2007, 11:28
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Accediendo a botones con acciones

Hola. Soy muy nuevo en esto. No bastante, muy.

Necesito "acceder" a un "boton" colocado en una tabla mediante un script. El código de la tabla es

<td>
<div align="center"><font color="#FFFFFF">
<a href='index.php?page=session=7275101e064d&no_heade r=1' accesskey="g">Sesión</a>
</font></div>
</td>

Me explico mejor: Esta url a la que me direcciona el "boton" se modifica cada seción que inicie ya que está en un serv php. Tengo la posibiliadad de crear un script que conociendo las características del "boton" pueda acceder a su url para luego cargarla yo mismo? O puedo ejecutar el "boton" directamente?
Gracias.
  #2 (permalink)  
Antiguo 04/10/2007, 06:11
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Accediendo a botones con acciones

Deduzco que la página es generada con PHP. La pregunta es ¿cuándo quieres acceder al contenido del enlace?

Si la página se genera dinámicamente, en el código PHP habrá una línea del tipo:

Código PHP:
...
echo(
"<a href='$url' accesskey='g'>Sesión</a>
"
);
... 
En realidad, tú podrás poner eso mismo en cualquier lugar de la página, ¿no?. Por ejemplo, para que al cargar la página nos avise de lo que hay en el enlace, en el código PHP:

Código PHP:
...
echo(
"<body onLoad=\"alert('El enlace será: $url');\">");
... 
Por eso te pregunto que en qué momento (acción) vas a necesitar el enlace. ¿Qué evento vas a controlar para querer saltar a él?. Por ejemplo, si vas a querer que al cambiar de página se abra ese enlace en una nueva ventana:


Código PHP:
...
echo(
"<body onUnload=\"window.open('$url');\">");
... 
__________________
Kelpie
  #3 (permalink)  
Antiguo 04/10/2007, 08:41
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

Antes que nada quiero agradecer tu intento de hacerme entender estas cosas.

La página esta generada en php, pero yo quiero operar sobre ella con un script en java.
En el momento en que accedo a esa página (decime si me equivoco) esta celda, tabla o le que sea, dado la seción que he iniciado, se le concede una url a la cual me direccionará en el caso de clickearla. Yo quiero que, al cargar esa página, mi js ejecutándose sobre ella pueda encontrar el enlace que tiene (dado que este enlace me cambia cada vez que inicie) y lo abra directamente. El problema no es abrir el url sino encontrarlo dentro del html para que mi js lo cargue luego. Por lo que estuve viendo no sé si podría utilizar innerHtml o substring(#,#). Lo menciono solo para ver si me puedo hacer entender mejor, pero no estoy seguro de lo que digo. Ademas, no entiendo como usar esas funciones...

Mil gracias nuevamente!
  #4 (permalink)  
Antiguo 04/10/2007, 10:27
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Accediendo a botones con acciones

En ese caso yo haría algo así:

El el fichero .php generar la salida después de conocer el valor de la url. Luego, generar la cabecera incluyéndola en un script:

Código PHP:
<?php
  
echo("<html>");
  echo(
"  <head>");
  echo(
"  <script language='javascript'>");
  echo(
"    var laURL='$url';");
  echo(
"  </script>");
  ....
Con ésto, tu script podrá acceder a la URL porque la tiene disponible en la variable laURL.

No se el nivel de PHP que tienes. Si no me explico bién, pon el código PHP de la página y te digo lo que tienes que modificar.
__________________
Kelpie
  #5 (permalink)  
Antiguo 04/10/2007, 12:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

Soy horrible. Cada vez nos entendemos menos.

Esto es así: yo entro a una página y me encuentro con una tablita al mi izquierda con un par de links. La tablita contiene "celdas" (digo celdas porque no sé como se llaman) o es la que postee al prioncipio:

Código:
 
<div id='menu'>
<table width="110" cellspacing="0" cellpadding="0">
<tr>
  <td>
   <div align="center"><font color="#FFFFFF">
     <a href='/index.php?page=session=84ba5a73898a&mode=session' accesskey="a">Sesión</a>
    </font></div>
  </td> 
 </tr>

</table>
</center>
</div>
(Solo copié una de las celdas)

Lo que quiero hacer es un script con java que al cargar la págína directamente me la direccione hacia la url que contiene el html de la celda. Esta url cambia cada vez que accedo a la página. Por lo cual necesito que mi script sepa encontrar la url a la que me direcciona la celda.

Última edición por esparragos; 04/10/2007 a las 13:17
  #6 (permalink)  
Antiguo 04/10/2007, 12:38
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Accediendo a botones con acciones

Hola esparragos

A ver si esto te sirve:

Código:
  obj = document.getElementById('menu');
  enlace = obj.getElementsByTagName('a')[0];
  location = enlace.href;
Saludos,
  #7 (permalink)  
Antiguo 04/10/2007, 12:49
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

Bien! Aún no lo probé, pero creo que ya me estoy pudiendo explicar mejor. Tengo una dudilla, para entender mejor el funcionamiento de tu código.

Código:
enlace = obj.getElementsByTagName('a')[0];
'a' y [0] a qué se deben.
El 'a' es por lo de:
Código:
 <a href='/index.php?...>
O por lo de
Código:
Sesión</a>
O por otra cosa?
y el [0]?
  #8 (permalink)  
Antiguo 04/10/2007, 13:14
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

Me adelanto a un problema que seguro surgirá. Es culpa mía que no supe aclararlo antes.
Esta tabla contiene varias celdas. Yo solo copié una de ellas. Ahora puse dos de ellas:

Código:
 
<div id='menu'>
<tr>
  <td>
   <div align="center"><font color="#FFFFFF">
     <a href='/index.php?page=sessiona=069e5bb49845' accesskey="a">Sesión A</a>
    </font></div>
  </td> 
 </tr>

 
 <tr>
  <td>
   <div align="center"><font color="#FFFFFF">
     <a href='/index.php?page=sessionb=069e5bb49845' accesskey="b">Sesión B</a>
    </font></div>
  </td> 
 </tr>
</div>
Segun entiendo la tabla se llama 'menu' pero las celdas?
Como hacer para que el script sepa a cuál de ellas me estoy refiriendo?
  #9 (permalink)  
Antiguo 04/10/2007, 14:02
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Accediendo a botones con acciones

Hola de nuevo.

Te explico esta línea: enlace = obj.getElementsByTagName('a')[0];

'a' se refiere a los elementos con etiqueta a, (los enlaces)

[0] es el primer elemento. Si hubiera más de una etiqueta 'a' la segunda sería [1] la tercera [2] y así sucesivamente.

Saludos,
  #10 (permalink)  
Antiguo 04/10/2007, 14:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

Jaja, Si!
Gracias, un millon de gracias!

Con esta explicación que me diste ya pude hacer el script. Va, en realidad no lo terminé pero ya probé el pedacito este y funciona!!!!

Gracias Javi!
Decime de donde sos y donde vivis que te mando un regalito, jeje
Gracias!
  #11 (permalink)  
Antiguo 04/10/2007, 15:40
 
Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Accediendo a botones con acciones

He vuelto.

La tabla de la página contiene un javascript y yo quiero ejecutarlo automaticamente con con mi script apenas se carga la pagina, en lugar de tener que clickear sobre él:

Código:
<tr height="20">
  <th colspan="2"><a href="javascript:no();" >Ninguna</a></th>

  <th colspan="2"><a href="javascript:max();" >Todas</a></th>
   </tr>
En la página al clickear sobre la selda "todas" o "ninguna" se selecionan todas las opciones por defecto. Lo que pretendo es que, en lugar de tener que clickear sobre las celdas, se ejecute el js ni bien finaliza la carga de la página (x ejemplo) y todas (o niguna de las opciones) aparezcan selecionadas.
  #12 (permalink)  
Antiguo 11/10/2007, 14:51
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Accediendo a botones con acciones

Hola esparragos.

Empecemos por el principio. Dada una tabla con enlaces tal y como la has posteado (ejemplo un poco más correcto):
Código PHP:
<div id="menu">
    <
table>
        <
tr>
            <
td>
                <
a href="http://www.google.es">Google</a>
            </
td>
        </
tr>
        <
tr>
            <
td>
                <
a href="http://www.barrapunto.com">Barrapunto</a>
            </
td>
        </
tr>
        <
tr>
            <
td>
                <
a href="http://www.forosdelweb.com">Forosdelweb</a>    
            </
td>
        </
tr>
    </
table>
</
div
Para acceder a cualquiera de los tres enlaces con javascript primero accedemos al DIV, y luego obtenemos todos los enlaces que hay dentro. Después seleccionamos el primero, segundo o tercero (tal y como te ha comentado Javier, pero yo lo voy a hacer cuando se termine de cargar la página, tal y como comentas que quieres):

Código PHP:
<script type="text/javascript">
<!--


window.onload = function() {
    var 
elDIV document.getElementById("menu");
    var 
losEnlaces elDIV.getElementsByTagName("A");
    var 
elPrimero losEnlaces[0];
    var 
elSegundo losEnlaces[1];
    var 
elTercero losEnlaces[2];
    
    var 
parrafada "Tengo los tres enlaces: \r\n";
    
parrafada += elPrimero.innerHTML " ==> " elPrimero.getAttribute("href") + "\r\n";
    
parrafada += elSegundo.innerHTML " ==> " elSegundo.getAttribute("href") + "\r\n";
    
parrafada += elTercero.innerHTML " ==> " elTercero.getAttribute("href");
    
alert(parrafada);
}


// -->
</script> 

Y con ellos ahora ya puedes hacer lo que te de la real gana



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 16:50.