I have found solution.
You have to add whitelist-options filter hook:
add_filter('whitelist_options','my_plugin_alter_whitelist_options');
function my_plugin_alter_whitelist_options($whitelist) {
if(is_array($whitelist)) {
$option_array = array('magic_name' => array('form_field_01','form_field_02','form_field_03'));
$whitelist = array_merge($whitelist,$option_array);
}
return $whitelist;
}
'magic_name' string is whatever you want. It's good to use the name of your plugin. Remember it! 'form_field_XX' fields are form inputs that you want to save. The same as in 'page_options' input.
Let's move on. That one is situated in form.
<?php wp_nonce_field('magic_name-options'); ?>
We used the 'magic_name'. The wp_nonce_field parametr MUST end with '-options' string if you want working the automatic options update.
And the last thing to do:
<input type="hidden" name="option_page" value="magic_name" />
We used magic_name again!
So why these things? wp_nonce_field creates hash X from 'magic_name-options'. When you click the Submit button it takes value of the option_page, adds '-options' string and creates hash Y. When X != Y it prints the mystic message "Are you sure you want to do this?". And whitelist is safer alternative to page_options input.
If you use these tutorials:
http://codex.wordpress.org/Creating_Options_Pages
http://codex.wordpress.org/Adding_Administration_Menus
and this guide the plugin should work in WPMU.
Hope, it will help.
If it works, tell me. I would post it to somewhere else (as howto).