Unable to submit rendered field
I was facing the same issue.  I think the render function doesn't add "name" to the html so the form values are not submitted. I fixed this by adding them in the array

'#attributes' =&gt; array(
  'class' =&gt; array('edit-bid-amount'),
  'name' =&gt; 'bid_amount'
),


The function now is

function custom_callback(&amp;$form, &amp;$form_state) {
  $next_bid = 100;
  return array(
    '#type' =&gt; 'ajax',
    '#commands' =&gt; array(
      ajax_command_replace(
        "#test-ajax", render($form['bid_amount'] = array(
          '#type' =&gt; 'textfield',
          '#title' =&gt; t("Your Bid"),
          '#value' =&gt; $next_bid,
          '#prefix' =&gt; '&lt;div id="test-ajax"&gt;',
          '#attributes' =&gt; array(
            'class' =&gt; array('edit-bid-amount'),
            'name' =&gt; 'bid_amount'
          ),
          '#suffix' =&gt; '&lt;/div&gt;',
          )
        )
      ),
    )
  );
}


Hth,
Sadashiv