Form is not calling custom submit function From my understanding, and as I've seen it in other examples of code, all I need to do to call a custom submit function is include the "#submit" =&gt; array("myModule_submit");. 

I use a drupal_set_message to post a message on the site so I can know if the myModule_Submit is being called from the form submit button:

function myModule_submit($form, &amp;$form_state) { 
  drupal_set_message($form_state['values']['name']);
}


When I click on the "Send" button nothing happens, and it seems the page just refreshes.

function myModule_form_builder($form, $form_state){
  $form['myModule_message'] = array(
    '#type' =&gt; 'textfield',
    '#title' =&gt; t("Outgoing Message"),
    '#size' =&gt; 150,
    '#maxlength' =&gt; 150,
    '#required' =&gt; TRUE,
    '#description' =&gt; t("Type your message"),
  );

  $form['buttons'] = array(
    '#type' =&gt; 'button',
    '#value' =&gt; t("Send"),
    '#submit' =&gt; array('myModule_submit'),
  );

  return $form;
}

function myModule_submit($form, &amp;$form_state) {
  drupal_set_message($form_state['values']['name']);
}


To my understanding drupal_set_message() will display a message to the user on the current page somewhere given the parameters. When I put information in the fields and press submit though there are no messages. I have seen other examples on the web that use this method and they say it works.
Try next:

function myModule_simple_form($form, &amp;$form_state){
  $form['firstname'] = array(
    '#title' =&gt; t('First name'),
    '#type'  =&gt; 'textfield',
  );
  $form['lastname'] = array(
    '#title' =&gt; t('Last name'),
    '#type'  =&gt; 'textfield',
  );

  $form['submit'] = array(
    '#value' =&gt; t('Search'),
    '#type'  =&gt; 'submit',
  );
  return $form;
}
function myModule_simple_form_submit($form, &amp;$form_state) {
  drupal_set_message($form_state['values']['firstname']);
}


Any rendered drupal form already have a submit function. Also try: drupal_set_message($form); in your hook_from_alter when $form_id = 'myModule_simple_form' too see where is default submit function. You can also add a custom submit funtion in array but it is necesary only if you need more than 1 submit function for your form. In all othre cases use just form_id_submit.