Foros del Web » Programando para Internet » Javascript »

Cambiar destino link con javascript

Estas en el tema de Cambiar destino link con javascript en el foro de Javascript en Foros del Web. Buenas!! Vereis, tengo una pagina en la cual tengo un marco, en el que cargo los contenidos y mantengo una barra abajo con entre otras ...
  #1 (permalink)  
Antiguo 28/09/2012, 13:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 2 meses
Puntos: 0
Cambiar destino link con javascript

Buenas!!

Vereis, tengo una pagina en la cual tengo un marco, en el que cargo los contenidos y mantengo una barra abajo con entre otras cosas idiomas y un link.
El caso es que cuando pinchan en una bandera, el contenido que cambia es dentro del marco, pero tambien quiero que cambie el destino del link de esta barra.

Es decir, que si el link dirige a es/; cuando pinchen en ingles este link debe dirigir a en/

Ahora mismo lo estoy intentando asi pero no me sale...

El Script
Código:
<script type="text/javascript">

var idioma = "es";

if (idioma == 'es'){
document.getElementById(ID).href =  "es/"}

if (idioma == 'en'){
document.getElementById(ID).href  = "en/"}
}

</script>
Las Banderas que cambian el valor de 'idioma'
Código:
<a href="es/"  target="marco"  onclick="idioma = 'es'">ESPAÑOL</a>
<a href="en/"  target="marco"  onclick="idioma = 'en'">INGLES</a>
El link que tiene que cambiar
Código:
<a href="es/" id="ID" name="ID" target="marco"> LINK</a>

a ver si me podeis echar una mano...

Gracias!!
  #2 (permalink)  
Antiguo 29/09/2012, 04:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Cambiar destino link con javascript

nadie sabria como hacerlo??
  #3 (permalink)  
Antiguo 29/09/2012, 09:44
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: Cambiar destino link con javascript

Hola fran_ba, estás cometiendo algunos horrores, digo errores, básicos; primero olvidaste poner comillas en el parámetro de la función getElementById()

Código Javascript:
Ver original
  1. document.getElementById('ID').href =  "es/"}

Por otra parte, las sentencias que has puesto en el evento onclick de los enlaces (idioma = 'es' / idioma = 'en') aunque sí modifican el valor de la variable idioma, no ejecutan el bloque de los if ya que estos sólo se interpretan al cargarse la página y nada más, para ejecutarlos puedes ponerlos en los onclick separandolos de la otra sentencia con punto y coma (;)
Código Javascript:
Ver original
  1. <a href="es/"  target="marco"  onclick="idioma = 'es'; if (idioma == 'es'){document.getElementById('ID').href = "es/"} if (idioma == 'en'){document.getElementById('ID').href =  "en/"}">ESPAÑOL</a>
  2.  
  3. <a href="en/"  target="marco"  onclick="idioma = 'en'; if (idioma == 'es'){document.getElementById('ID').href = "es/"} if (idioma == 'en'){document.getElementById('ID').href =  "en/"}">INGLES</a>

Pero, como esto es evidentemente muy inconveniente, lo que más adecudo es crear una función que será llamada con el evento onclick de los enlaces, además con esto ya no será necesaría la variable idioma ya que el valor lo recibirá directamente la función como parámetro.
Código Javascript:
Ver original
  1. <script>
  2.  
  3. function cambiarIdioma(idioma)
  4. {
  5.     if (idioma == 'es')
  6.     {
  7.         document.getElementById('ID').href =  "es/";
  8.     }
  9.  
  10.     if (idioma == 'en')
  11.     {
  12.         document.getElementById('ID').href  = "en/";
  13.     }
  14. }
  15.  
  16. </script>
  17.  
  18. <a href="es/"  target="marco"  onclick="cambiarIdioma('es')">ESPAÑOL</a>
  19. <a href="en/"  target="marco"  onclick="cambiarIdioma('en')">INGLES</a>

De esta manera manera el código se ejecutará al momento de ocurir el evento click de los enlaces, que es lo que se desea, un saludo.
  #4 (permalink)  
Antiguo 30/09/2012, 06:11
 
Fecha de Ingreso: febrero-2012
Mensajes: 45
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Cambiar destino link con javascript

Muchisimas gracias!!

Funciona perfectamente!!

Mis conocimientos de java la verdad es que son un poco basicos, por no decir casi que nulos, como has podido comprobar jejeje

Muchas gracias de verdad!

Etiquetas: destino, link
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:15.