Form is not submit handler is not called I have this code for calling a form and than submit it.. 

&lt;?php 
// hook_menu
function pricepackages_menu()
{
    $items = array();
    $items['membership/packages'] = array(
        'title' =&gt; t('Manage Membership Packages'),
        'page callback' =&gt; 'drupal_get_form',
        'page arguments' =&gt; array('pricepackages_form'),
       //'access callback' =&gt; TRUE,
       'access arguments' =&gt; array('access administration pages'),
    );
    return $items;
}
// FORM SHOW HOOK
function pricepackages_form($form, &amp;$form_state)
{
    $form = array();

    $form['packagename'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Package Name',
        //'attribute' =&gt; array('class' =&gt; 'package'),
        '#required' =&gt; TRUE,
    );
    $form['packageDescp'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Package Short Description',
        //'attribute' =&gt; array('class' =&gt; 'package'),
        '#required' =&gt; FALSE,
    );
    $form['price'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; 'Package Price',
        //'attribute' =&gt; array('class' =&gt; 'package'),
        '#required' =&gt; TRUE,
    );
    $form['submit'] = array(
        '#type' =&gt; 'submit',
        '#value' =&gt; t('Submit'),
    );
    $form['submit'][] = array('package_get_form'=&gt; array());

    return $form;
}

function package_get_form($form, &amp;$form_state)
{
    drupal_set_message('working');
?&gt;
    &lt;script language="javascript"&gt;
        alert("aaa");
    &lt;/script&gt;
&lt;?php
return; 
    }
?&gt;


but this one is not wokring proerly and form is not being submitted on the specific form...
neither its showing alert or message...

please help me...
Change this:

$form['submit'][] = array('package_get_form'=> array());

to this:

$form['#submit'][] = 'package_get_form';

btw.

function package_get_form($form, &amp;$form_state)
{
    drupal_set_message('working');
?&gt;
    &lt;script language="javascript"&gt;
        alert("aaa");
    &lt;/script&gt;
&lt;?php
return; 
}
?&gt;


This looks really messy. Try that instead:

function package_get_form($form, &amp;$form_state) {
  debug('test');
}


But the best option would be to use standard submit handler instead declaring your own name convention:

function pricepackages_form_submit($form, &amp;$form_state) {
...
}