There may be another way to achieve this, albeit a slightly indirect one. You can continuously update a hidden input field by using the onClick attribute of the Radio buttons.
Here is a snippet of untested code that demonstrates this method:
<script>
function updateFoo(elemId){
var elem = document.getElementById("foo");
elem.value = elem.value+", "+elemId;
console.log(elem.value);
}
funcition cleanFoo(){
//Now clean the string to remove the ',' at the beginning and the end and to
//contain A,B,C,D only once
/*
Scan the string from the back and keep the last occurrence of each ID
since the user can select or click on radio buttons more than once
Eg. a,b,c,d,b,b,c,a,d,d,a
Keep: b,c, d,a //final selections
//I may write a code here when I get some time
*/
}
</script>
<body>
<input type="radio" id="A" onClick="updateFoo('A')">A<br/>
<input type="radio" id="B" onClick="updateFoo('B')">B<br/>
<input type="radio" id="C" onClick="updateFoo('C')">C<br/>
<input type="radio" id="D" onClick="updateFoo('D')">D<br/>
<input type="hidden" id="foo" value="">
</body>