Add more fieldset with remove option custom module
I got solution by this way. Here is solution code:

$form['emails'] = array(
    '#title' =&gt; 'Education Information',
    '#type' =&gt; 'fieldset',
    '#collapsible' =&gt; TRUE,
    '#collapsed' =&gt; FALSE,
    //'#size' =&gt; '30',
    '#required' =&gt; FALSE,
    '#prefix' =&gt; '&lt;div id="names-fieldset-wrapper"&gt;',
    '#suffix' =&gt; '&lt;/div&gt;',
);
if (empty($form_state['num_names'])) {
    $form_state['num_names'] = 1;
}
for ($i = 0; $i &lt; $form_state['num_names']; $i++) { 
$form['emails'][$i]['candidate_email'] = array(
    '#title' =&gt; 'Email',
    '#type' =&gt; 'textfield',
    '#size' =&gt; '30',
    '#required' =&gt; FALSE,
);
}

$form['emails']['add_name'] = array(
'#type' =&gt; 'submit',
'#value' =&gt; t('Add one more'),
'#submit' =&gt; array('hook_add_more_add_one'),
// See the examples in ajax_example.module for more details on the
// properties of #ajax.
'#ajax' =&gt; array(
  'callback' =&gt; 'hook_add_more_callback',
  'wrapper' =&gt; 'names-fieldset-wrapper',
),
);

if ($form_state['num_names'] &gt; 1) {
$form['emails']['remove_name'] = array(
  '#type' =&gt; 'submit',
  '#value' =&gt; t('Remove one'),
  '#submit' =&gt; array('hook_add_more_remove_one'),
  '#ajax' =&gt; array(
    'callback' =&gt; 'hook_add_more_callback',
    'wrapper' =&gt; 'names-fieldset-wrapper',
  ),
);
}