Hola compañeros,
a una función js le paso unos parametros y además quiero guardar ese parametro para comprobarlo con el siguiente que se le pasa a la función pero no me lo guarda se queda undefined, el código es el siguiente:
Código HTML:
<html>
<head>
<script type="text/javascript">
<!--
function cambiarValores(obj,prod) {
var img = obj.src;
img = img.split('/').pop();
img = img == 'boton-bebidas-' + obj.name + '-off.png' ? 'images/boton-bebidas-' + obj.name + '-on.png' : 'images/boton-bebidas-' + obj.name + '-off.png';
obj.src = img;
if(oldprod == prod) {
var oldimg = document.getElementsByName(oldname)[0];
oldimg.src = 'images/boton-bebidas-' + oldname + '-off.png';
}
//alert(oldprod);
//alert(prod);
var oldprod = prod;
var oldname = obj.name;
}
//-->
</script>
</head>
<body>
<img src="images/boton-bebidas-1-off.png" name="1" alt="1" onclick="cambiarValores(this,'Coca-Cola')" />
<input type="hidden" name="coca-cola-1" value="bebida" />
<img src="images/boton-bebidas-2-off.png" name="2" alt="2" onclick="cambiarValores(this,'Coca-Cola')" />
<input type="hidden" name="coca-cola-2" value="bebida" />
</body>
</html>
Si hacéis el alert a oldprod veréis que muestra undefined y no se queda guardado el valor que se asignó anteriormente y por ello no se cumple la condición del if. Por qué no se que guardado el valor en oldprod?
Saludos