Foros del Web » Programando para Internet » Javascript »

Cambio imagen input type=image

Estas en el tema de Cambio imagen input type=image en el foro de Javascript en Foros del Web. Hola a todos! tengo un código js que cambia de imagen al hacer click, lo hace perfectamente en una etiqueta img pero quiero que lo ...
  #1 (permalink)  
Antiguo 07/02/2011, 13:12
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Cambio imagen input type=image

Hola a todos!

tengo un código js que cambia de imagen al hacer click, lo hace perfectamente en una etiqueta img pero quiero que lo haga en un input type image pero al hacer click en esta se envía, ¿como puedo hacer para que cambia la imagen del input type image y no me envíe el formulario?

el codigo js es el siguiente
Código PHP:
<SCRIPT LANGUAGE="JavaScript">
mi_imagen1=new Image
mi_imagen1
.src="images/pizzas-off.png"
mi_imagen2=new Image
mi_imagen2
.src="images/pizzas-on.png"
var i=1;
function 
cambia_imagen() { 
if (
== 1)
{
document.images['prueba'].src=mi_imagen2.src
i
=2;
}
else 
{
document.images['prueba'].src=mi_imagen1.src;
i=1;
}
}
</script> 
y el html
Código PHP:
 <form action="" method="">
    <
input type="image" src="images/pizzas-off.png" name="prueba"  value="" onclick="javascript:cambia_imagen();" />
</
form
Saludos
  #2 (permalink)  
Antiguo 07/02/2011, 13:20
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

Los input image envían los formularios, si no quieres que se envíe pon un img y listo, ¿no?
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 07/02/2011, 13:31
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Necesito usar una etiqueta que permita el value y el cambio de imagen ya que ademas de cambiar la imagen necesito añadirle un value
  #4 (permalink)  
Antiguo 07/02/2011, 13:40
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

¿Para qué necesitas el value? ¿Para enviarlo?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 07/02/2011, 13:45
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Si, tengo varios ingredientes que al clicarlos se cambia la imagen para ver que estan seleccionados y necesito establecerle el value para luego recogerlos con php, he pensado que quizas pueda usar un img que sea el que cambie de imagen y un input hidden con el mismo value, que os parece?
  #6 (permalink)  
Antiguo 07/02/2011, 14:25
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

Podrías hacerlo así:
Código HTML:
Ver original
  1. <img src='foto.jpg' onclick='cambiarFoto(this);' />
  2. <input type='hidden' name='oculto' id='oculto' value='no' />
Código Javascript:
Ver original
  1. function cambiarFoto(img){
  2.  img.src = ims.src == 'foto.jpg' ? 'imagen.jpg' : 'foto.jpg';
  3.  document.getElementById('oculto').value = document.getElementById('oculto').value == 'no' ? 'si' :'no';
  4. }
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #7 (permalink)  
Antiguo 07/02/2011, 14:46
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Gracias _cronos2, cuando lo pruebe os digo, debo de irme!!

Saludos y gracias!
  #8 (permalink)  
Antiguo 13/02/2011, 11:54
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Hola de nuevo,

probé tu código pero no funcionó _cronos2, lo probé en opera y ff
¿Que hace esta parte? img.src = ims.src ==


Saludos
  #9 (permalink)  
Antiguo 13/02/2011, 12:35
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

Error de tipeo ;)
Código Javascript:
Ver original
  1. function cambiarFoto(img){
  2.  img.src = img.src == 'foto.jpg' ? 'imagen.jpg' : 'foto.jpg';
  3.  document.getElementById('oculto').value = document.getElementById('oculto').value == 'no' ? 'si' :'no';
  4. }
Esta línea:
Cita:
img.src = img.src == 'foto.jpg' ? 'imagen.jpg' : 'foto.jpg';
equivale a:
Cita:
if(img.src== 'foto.jpg'){
img.src = 'imagen.jpg';
}else{
img.src = 'foto.jpg';
}
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #10 (permalink)  
Antiguo 13/02/2011, 13:35
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Gracias por responder ;)

ya probé de antemano ese pequeño error, pero igualmente no me funciona te dejo el código si quieres comprobarlo
Código PHP:
<html>
<
head>
  <
link href="css/estilo.css" rel="stylesheet" type="text/css" media="screen" />
  <
script type="text/javascript" src="js/cambio-imagen.js"></script>
  <script type="text/javascript">
    function cambiarFoto(img){
      img.src = img.src == 'images/pizzas-off.png' ? 'images/pizzas-on.png' : 'images/pizzas-off.png';
      document.getElementById('oculto').value = document.getElementById('oculto').value == 'no' ? 'si' :'no';
    }
  </script>
</head>
<body>
  <img src="images/pizzas-off.png" name="pizzas" onclick="cambiarFoto(this);" />
  <input type='hidden' name='oculto' id='oculto' value='no' />
</body>
</html> 
  #11 (permalink)  
Antiguo 13/02/2011, 13:38
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

¿Qué te dice la consola de errores?
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #12 (permalink)  
Antiguo 13/02/2011, 14:02
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

no arroja ningún tipo de error
  #13 (permalink)  
Antiguo 13/02/2011, 14:35
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Cambio imagen input type=image

Acabo de probarlo y sí me funciona Asegúrate de que las rutas de las imágenes son correctas y de que no falla lo que pueda fallar XD
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #14 (permalink)  
Antiguo 14/02/2011, 11:02
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

Si se cambia la primera vez, no sé que error tendría, pero al segundo click ya no cambia, ¿a que se debe?

Saludos
  #15 (permalink)  
Antiguo 15/02/2011, 11:39
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

como sería el código javascript para que al onclick ademas de cambiarse la primera vez, lo haga tantas veces como clicks se de?

Gracias de antemano ;)

Saludos
  #16 (permalink)  
Antiguo 15/02/2011, 14:05
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Cambio imagen input type=image

como podría hacer para que me tomara el name del input al que se le hace click?, en lugar de indicarselo que lo reciba, en este ejemplo solo recibiría el value de oculto, pero y para que coja el name sin necesidad de indicarselo?:

Código PHP:
  <script type="text/javascript">
    function 
cambiarFoto(img){
      
img.src img.src == 'pizzas-off.png' 'pizzas-off.png' 'pizzas-on.png';
      
document.getElementById('oculto').value document.getElementById('oculto').value == 'no' 'si' :'no';
    }
  
</script> 
Saludos

Etiquetas: input, cambios
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 18:32.