use document.getElementById('id here ')
as all browsers don't expose the ids of elements to the global scope.
id.value // bad practice, not cross-browser
document.getElementById('id').value // good, cross browser
So do this:
function buildhidden() {
var joinedvalues = document.getElementById('textfield_id_1').value + document.getElementById('textfield_id_2').value + document.getElementById('textfield_id_3').value;
document.getElementById("hiddenfield_id").value = joinedvalues;
}