Add #ajax to an existing form I'm trying to add the #ajax property to the add form of a simple existing content type.  I thought hook_form_alter would be the way to go, but the code below doesn't get me the updated results I'm looking for.  I've essentially repurposed this code from a hook_menu function that creates the fields manually, attaching the #ajax at creation, so I think the code itself is okay.  I'm just not sure if I'm using the incorrect hook, or if I'm missing something, or what the problem is.

function ajax_test_form_example_node_form_alter(&amp;$form, &amp;$form_state, $form_id) {       
    $form['field_username']['#ajax'] = array(
        'callback' =&gt; 'ajax_test_example_callback',
        'wrapper' =&gt; 'ajax-test-example-wrapper'
    );

    $form['text']['#prefix'] = '&lt;div id="ajax-test-example-wrapper"&gt;';
    $form['text']['#suffix'] = '&lt;/div&gt;';        
}

function ajax_test_example_callback($form, &amp;$form_state) {
    if(isset($form_state['values']['username'])) {
        $form['field_number']['#description'] = 'Hi &lt;strong&gt; ' . $form_state['values']['username'] . '!';
    }
    return $form['field_number'];
}
Turns out that in order to add to an existing field you have to drill down into the array.  The correct place to add the property is 

$form['field_username']['und'][0]['value']['#ajax']