Generate and insert a unique identifier into the page that's also stored on the server. Store that when the form is submitted and don't let that value get passed in multiple times.
UPDATE: This is the only "proper" way to do this. When I say this, I mean storing something on the server side. Anything based on client behaviour is potentially buggy. Those implementations don't concern themselves with potential browser bugs, incompatibilities, javascript disabled, connection timeouts etc.
Something on the server side needs to know that this particular action has already been performed and stop it on the server side. I stress this, because often this needs to be done to stop a client refreshing and making multiple orders (and potentially multiple bills). This also allows the client to refresh gracefully if the action hasn't actually been received and acted upon by the server (e.g. in the case of a timeout).