Foros del Web » Programando para Internet » Javascript »

¿Cómo puedo reemplazar enlace existente por otro?

Estas en el tema de ¿Cómo puedo reemplazar enlace existente por otro? en el foro de Javascript en Foros del Web. Hola, lo que quiero hacer es que cuando haga click en un botón se convierta en otro botón con otra imágen y otra url. Ejemplo: ...
  #1 (permalink)  
Antiguo 26/04/2009, 05:38
Avatar de Phobos91  
Fecha de Ingreso: febrero-2009
Ubicación: Argentina
Mensajes: 21
Antigüedad: 15 años, 11 meses
Puntos: 0
¿Cómo puedo reemplazar enlace existente por otro?

Hola, lo que quiero hacer es que cuando haga click en un botón se convierta en otro botón con otra imágen y otra url.

Ejemplo: img7.xooimage.com/files/e/6/e/ejemplo-dea2e1.gif

Este es el botón que estoy usando:

Código:
<a href="#" onclick="setActiveStyleSheet(\'style\'); return false;">Mi Estilo</a>
Lo postee acá, porque me pareció el lugar mas correcto, pero si alguien sabe hacerlo en php bienvenido sea. Saludos!

Última edición por Phobos91; 26/04/2009 a las 05:52
  #2 (permalink)  
Antiguo 26/04/2009, 19:37
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: ¿Cómo puedo reemplazar enlace existente por otro?

se puede hacer con php pero es mas viable hacerlo con javascript ya que con php tendrias que recargar la pagina. lo puedes hacer asi

<a href="url1.html" target="_blank" onclick="cambia(this);">
<img src="img/img.jpg"/>
</a>

la funcion cambia
function cambia(el){
el.setAttribute('href','url22.html');
el.innerHTML='<img src="img/img2.gif"/>'
}
  #3 (permalink)  
Antiguo 26/04/2009, 23:35
Avatar de Phobos91  
Fecha de Ingreso: febrero-2009
Ubicación: Argentina
Mensajes: 21
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ¿Cómo puedo reemplazar enlace existente por otro?

Gracias alor86! voy a probar y comento.

EDIT: En este momento lo tengo así:

Código:
<a href="#" onclick="setActiveStyleSheet(\'ESTILO1\');cambia(this);return false;">
<img src="imagen/1.gif"/>
</a>

<script type="text/javascript">
function cambia(el){
    el.setAttribute(\'href\',\'#\');
    el.innerHTML=\'<img src="imagen/2.gif"/>\'
}
</script>
Funciona, pero no del todo, porque cuando hago click sobre el botón cambia la imágen y hace la función (cambiar el css por otro), pero lo que necesito es que cuando se transforme el botón a parte de cambiar la imágen también cambie el onclick por otro.

PD: puse una \ atras de cada ' porque sino no andaba.

Última edición por Phobos91; 27/04/2009 a las 00:58
  #4 (permalink)  
Antiguo 27/04/2009, 01:23
Avatar de alor86  
Fecha de Ingreso: abril-2009
Mensajes: 110
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: ¿Cómo puedo reemplazar enlace existente por otro?

si lo que quieres es cambiar el valor del onclick por otro le puedes agregar esta linea de codigo a la funcion que te envie

el.setAttribute('onclick','el valor que le vas a asignar al onclick');

checalo y me dices si te funciono
  #5 (permalink)  
Antiguo 27/04/2009, 02:02
Avatar de Phobos91  
Fecha de Ingreso: febrero-2009
Ubicación: Argentina
Mensajes: 21
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ¿Cómo puedo reemplazar enlace existente por otro?

Gracias, pero no funcionó, ahora ni cambia la imágen..

Quedó así:

Código:
<a href="#" onclick="setActiveStyleSheet(\'ESTILO1\');cambia(this);return false;">
<img src="imagen/1.gif"/>
</a>

<script type="text/javascript">
function cambia(el){
    el.setAttribute(\'href\',\'#\');
    el.setAttribute(\'onclick\',\'setActiveStyleSheet(\'DEFAULT\');return false;\');
    el.innerHTML=\'<img src="imagen/2.gif"/>\'
}
</script>
¿El problema no debe estar en que estoy usando () dentro de ()?

EDIT: Ahora lo tengo así:

Código:
<a href="#" onclick="setActiveStyleSheet(\'ESTILO1\');cambia(this);return false;">
<img src="imagen/1.gif"/>
</a>

<script type="text/javascript">
function cambia(el){
    el.setAttribute(\'href\',\'#\');
    el.setAttribute(\'onclick\',\'setActiveStyleSheet(\"DEFAULT\");return false;\');
    el.innerHTML=\'<img src="imagen/2.gif"/>\'
}
</script>
Y funciona bien, pero el problema es que sólo se puede hacer una vez, osea hago click y me cambia el botón, hago click de nuevo y me cambia al otro botón y después por mas clicks que haga se queda en este último...

¿Con el javascript no se puede hacer que cambie todo el código en vez de atributos?

Lo que quiero es algo similar a esto, pero con un botón que vaya cambiando a medida que le hagamos click: ni4.org/modules/Articulos/ejemplos/css/

Última edición por Phobos91; 27/04/2009 a las 03:34
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:53.