Hi Li,
This is a bug in IE7. Basically in IE7 the browser doesn't generate the name attribute for radio button when its created dynamically.
To check that, just open the HTML file in your IE7 browser and after the file is loaded just type in address bar(in one line):
javascript:alert(document.getElementById('radioDiv').innerHTML);
Now you can observe in the alert that the radio input element doesn't have the name attribute; so its not behaving properly.
I suggest if you want to create radio buttons dynamically either go by Eric's suggestion:
This code here [view source] solves the browser quirk: http://www.pascarello.com/examples/createElement.html
Or you can simply use innerHTML, for ex: