Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/09/2012, 09:44
lubtufano
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 13 años, 3 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.