Hi,
I do not know if your friend is real author of the idea, because it is not new.
(I've read similar articles at least couple of times in different places, but I will not argue -- maybe he is the original author).
Yor solution will protect form from only the simplest spam bots.
Why?
1) Every professional bot is customized for particular web software (like particular blog or forum engine)
2) So it is not problem to parse your form and figure out names of the inputs basing on their position relative to according labels.
For example if I want to figure out what is input name for 'Autor' field I will parse it with the following regexp 'Autor:\s*
Author:
email:
Parsing such a form spam bot will consider first input to be ‘author’ and second to be an ‘email’, this you can check on server side and reject such a request.
You can still use hidden fields generated by JavaScript and filled with JavaScript. For example you can send cookie from server with some unique key, then use JS to generate hidden field and set its value to this key then check this on server side.
But what can be done if spam bot is developed as Mozilla FF addon? It will request your form, wait for all the JS to run, then insert spam data into empty visible inputs (all the CSS applied, no matter where they come from) and submit this to you?
Well, I stop here ) this is not an article anyway – just couple of my thoughts.