How can I make Safari or Chrome remember my messages in contact forms? As a customer, I contact businesses through contact forms on their websites, and often I forget the exact wording of the message and when I sent it. 

(Often, I need to re-send messages when I don't receive a reply and an email address isn't listed on the site.)

How can I make Safari remember the contents of the &lt;textarea&gt; and &lt;input&gt; fields of the &lt;form&gt; element? Preferably timestamped.

Is there a Safari (or Chrome) extension that does this?

This question applies mostly to Mac OS X, but also relevant for iOS devices.
For Chrome, there is Lazarus: Form Recovery
(haven't tried it)

For Firefox (although you didn't mention Firefox, I'll put it in any case), there's the TextArea Cache addon.

For Safari, I don't know of anything. 
At the moment I either copy/paste text areas I want to save, or long-click selected text in the textarea, and drag it to a folder in the Finder to create a text clipping. You could also look for a keystroke recorder/keylogger, which would record every key you type in case you need to get back to it later (but those also record spelling mistakes in some cases).

Another option for Safari is to use Jumpcut. Jumpcut can save up to 99 text clipboards in its internal memory. I use it all the time for temporary saving purposes. For example, you are typing text inside a text box, quickly select all (cmd + a) then copy all (cmd + c) and you've just "saved" the text inside Jumpcut. If your computer crashes or your app crashes, restart it and within Jumpcut your text is accessible, ready to be pasted again.

And since Jumpcut remembers up to 99 clippings, you can easily copy all the fields in a form to paste them again later in the exact same way.

Creating a clipping from a text field in Safari: