Some browsers like to be helpful and help by remembering certain form fields. I was having a problem with Firefox auto-populating my some of my form fields (specifically field type 'password' and 'password_confirm') in a custom module I wrote.
After some consternation, I referred to our cardboard cutout Han Solo, who helped me to remember a bit more about form options and field auto-completion.
To fix this problem just add an #attribute of 'autocomplete' => 'off', e.g.
<?php /** * Implementation of hook_form() */ function mymodule_form() { $form['old_password'] = array( '#title' => t('Old Password'), '#type' => 'textfield', '#attributes' => array('autocomplete' =>'off'), '#required' => TRUE, ); $form['new_password'] = array( '#type' => 'password_confirm', '#attributes' => array('autocomplete' =>'off'), '#required' => TRUE, ); $form['submit'] = array( '#type' => 'submit', '#value' => t('Submit'), ); $form['clear'] = array( '#type' => 'button', '#value' => t('Clear'), '#attributes' => array('onclick' => 'this.form.reset(); return false;'), ); return $form; }
The example above also includes a nifty way to clear out form fields via javascript in the $form['clear'] element.