this sounds like the way IE is handling your script.
Which event are you using as your trigger?
A lot of this works better by using prototype or mootools as these libraries have all of the workarounds set in place so that you don't have to worry so much about the different browsers.
I recommend learning about event.observe instead of using onclick events or onblur events within the html tag itself.
This will allow for smoother work. That and, instead of typing out document.getelementbyid("hello") all you have to type with prototype or mootools is $('hello')..
that said, IE is a little buggy when it comes to onclick events and checkboxes... It does like onfocus and onblur.
I recommend trying changing onclick to onmousedown instead to trigger the function and see if that fixes your problem. It sounds like the event is being triggered just not the way that you want it to.
Another question is, what happens when they uncheck the box (if a mistake was made). You then should change the color back to it's default state, so, you should actually do something more like
function changebg(){
var filed=document.getElementById("one");
if (filed.checked =="true"){
filed.style.backgroundColor = "red";
} else {
filed.style.backgroundColor = "white";
}
}
then use this function for your mousedown event.
Sage