How do I store the input value on form submission?
I would have thought you would be able to do something like this in your form handler...

'#default_value' =&gt; $form_state['post']['name'] ? $form_state['post']['name'] : 'some default value',


...but perhaps since this is in a block, it is being called "fresh" each time the page is displayed.

So, quick and dirty (and possibly all hideously wrong) the following does work...

'#default_value' =&gt; $_SESSION['foo_bar_baz'] ? $_SESSION['foo_bar_baz'] : 'some default value',


...if you put...

 $_SESSION['foo_bar_baz'] = $form_state['values']['name'];


...in your submit handler.  At least for logged in users anyway, and will persist during his/her session.

Hopefully there is a "drupaler" way of doing this, but in the meantime, flame retardant suit on.