That's probably because HTML wasn't intended to be the part where you prevent against double submission. The backend should probably handle that.
Either way you'd need to validate the input in the server side anyway. What are you going to do if the user (agent) misbehaves? Reddit frequently has this problem with comments popping up lots of times because of a shaky connection, and frankly I dislike letting data quality rely on your users behaving as you expect.
Not that great of an experience when you sit there and "nothing happens".