"......because it leads to double entries in my DB"
, my 2 cents worth:
As im sure you know they can get back other ways than using the back button. Lets face it, users click the back button. Accept it and work on a better deisgn/workflow around your code that inserts to the DB. Posting forms in a way that that can not insert multiple entries is fairly simple stuff.
Commonly you can get this if you post to the same page the form is on, or you post to a page the user can see. In this case I sometimes write code that checks if the insert has taken place. I find the posting to a transaction page which the user does not see works well.
Also your way relies on JS
. You do realize some, IMO wierdos have it disabled...