Form added to content in hook_page_build lacks of AJAX
The problem is the element's name: submit. In the rendered page there's another form that have the same button name (submit), so the AJAX layer just ofund one of the buttons but not the two.

To fix this just rename the element's name: 

 $form['myform-submit'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t('Send Message'),
    '#ajax' =&gt; array(
      'wrapper' =&gt; 'myform-wrp',
      'callback' =&gt; 'myform_ajax_callback',
    ),
  );