Yea, I've used JS to prevent duplicate submissions but I've found it's not always reliable. Since he said he didn't have good luck with JS and asked for a CF solution, I posted one which I believe will work. Anytime I use JS to prevent the user from doing something undesireable on the client side, I like to have CF double check and prevent it as well on the server side in case of a JS problem with earlier browsers or if they have it turned off altogher.
One of the simplest JS check routines I've seen was this,
<INPUT TYPE="Button" NAME="Submit" VALUE="Submit Form" onClick="if(this.value == 'Submit Form') this.form.submit(); this.value = 'Please Wait.';">
GJ