Pues
Tecna tiene razon y por tanto la solucion no sierve para todos los navegadores.
Una vez mas tendremos que programar dos versiones de lo mismo, en este caso es fàcil
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> function Funcion2(COLOR) {
var aux=document.getElementById(COLOR.id).style.backgroundColor;//innecesario
alert(aux);//innecesario
if(document.getElementById(COLOR.id).style.backgroundColor.indexOf("#")!=-1){
aux=document.getElementById(COLOR.id).style.backgroundColor;
}else{
aux=rgbConvert(document.getElementById(COLOR.id).style.backgroundColor);
}
if (aux == "#000000"){
document.getElementById(COLOR.id).style.backgroundColor="#ffffff";
}
else {
document.getElementById(COLOR.id).style.backgroundColor = "#000000";
}
}
function rgbConvert(str) {
str = str.replace(/rgb\(|\)/g, "").split(",");
str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
return ('#' + str.join(""));
<input name="boton" type="button" id="boton" onClick="Funcion2(this)" style="background-color: #000000">
Quizas una forma mas elegante seria definir dos clases CSS (digamos botonblanco, botonnegro) usar .className en la función
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script language="JavaScript" type="text/JavaScript"> function Funcion2(COLOR) {
var aux=document.getElementById(COLOR.id).className;//innecesario
alert(aux);//innecesario
if (document.getElementById(COLOR.id).className == "botonBlanco"){
document.getElementById(COLOR.id).className = "botonNegro";
}
else {
document.getElementById(COLOR.id).className = "botonBlanco";
}
}
.botonBlanco{
background-color: #FFFFFF;
}
.botonNegro{
background-color: #000000;
}
<input name="boton" type="button" id="boton" onClick="Funcion2(this)" class="botonBlanco">
Elige la que mas te guste, estas funcionan en FF y IE.
Quim