If I&#39;m not mistaken, the problem is that the AHAH bindings are done at page load time, and of course you&#39;re replacing the element that&#39;s bound with another element without a page reload, but the javascript does not know that you&#39;ve changed things underneath it. <br>
<br>I don&#39;t know a way to introduce a new element and have it bound as an AHAH element. However, you could have both on the original page, with one hidden, and that would probably work.<br><br>In D7, you could probably find some ways to work around this, although it would still require some magic. <br>
<br>-Randy<br><br><div class="gmail_quote">On Fri, Apr 2, 2010 at 3:29 PM, nitin gupta <span dir="ltr">&lt;<a href="mailto:nitingupta.iitg@gmail.com">nitingupta.iitg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br><br>I have been scratching my head for long, looks like cant figure it out. If I add elements to the form on an AHAH refresh, let us say a submit button with AHAH properties, this button will not be submitted using AHAH. Anyone know about this? any pointers to resources? any work around?<br>


<br><br>function test_form($form_state) {<br>  $form[&#39;open&#39;] = array(&#39;#value&#39; =&gt; &#39;&lt;div id=&quot;test_replace&quot;&gt;&#39;);<br>  dpm($form_state);<br>  if($form_state[&#39;test&#39;] == 1) {<br>


  $form[&#39;test&#39;][&#39;share&#39;] = array(<br>    &#39;#type&#39; =&gt; &#39;submit&#39;,<br>        &#39;#value&#39; =&gt; &#39;share&#39;,<br>    &#39;#submit&#39; =&gt; array(&#39;test_form_js_submit&#39;),<br>

    &#39;#ahah&#39; =&gt; array(<br>
      &#39;path&#39; =&gt; &#39;test/js&#39;,<br>      &#39;wrapper&#39; =&gt; &#39;test_replace&#39;<br>    ));<br>  }<br>  else {<br>      $form[&#39;test&#39;][&#39;share2&#39;] = array(<br>    &#39;#type&#39; =&gt; &#39;submit&#39;,<br>


    &#39;#value&#39; =&gt; &#39;share2&#39;,<br>    &#39;#submit&#39; =&gt; array(&#39;test_form_js_submit&#39;),<br>    &#39;#ahah&#39; =&gt; array(<br>      &#39;path&#39; =&gt; &#39;test/js&#39;,<br>      &#39;wrapper&#39; =&gt; &#39;test_replace&#39;<br>


    ));<br>  }<br>  <br>  $form[&#39;close&#39;] = array(&#39;#value&#39; =&gt; &#39;&lt;/div&gt;&#39;);<br>  <br>  return $form;  <br>}<br><br>function test_form_js_submit(&amp;$form, &amp;$form_state) {<br><br>  $form_state[&#39;test&#39;] = 1 ;<br>


  $form_state[&#39;rebuild&#39;] = TRUE;<br>}<br><br>function test_form_js() {<br>  $form_state = array(&#39;submitted&#39; =&gt; FALSE);<br>  $form_build_id = $_POST[&#39;form_build_id&#39;];<br>  $form = form_get_cache($form_build_id, $form_state);<br>


  $form_state[&#39;post&#39;] = $form[&#39;#post&#39;] = $_POST;<br>  $form[&#39;#programmed&#39;] = $form[&#39;#redirect&#39;] = FALSE;<br>  $args = $form[&#39;#parameters&#39;];<br>  $form_id = array_shift($args);<br>  drupal_process_form($form_id, $form, $form_state);<br>


  $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id);<br><br>  //Get HTML for the replacement form. Only these elements will be AHAH-refreshed.<br>  test_add_children($new_form[&#39;test&#39;], $form[&#39;test&#39;]);<br>


  $output = theme(&#39;status_messages&#39;) . drupal_render($new_form);<br>  drupal_json(array(&#39;status&#39; =&gt; TRUE, &#39;data&#39; =&gt; $output));<br>}<br><br>function test_add_children(&amp;$new_form, $form) {<br>


  foreach (element_children($form) as $child) {<br>    $new_form[$child] = $form[$child];<br>    test_add_children($new_form[$child], $form[$child]);<br>  }<br>}<br><br>function test_menu() {<br>$items = array();<br><br>

$items[&#39;test&#39;] = array(<br>
    $items[&#39;test/js&#39;] = array(<br>    &#39;page callback&#39; =&gt; &#39;test_form_js&#39;,<br>    &#39;type&#39; =&gt; MENU_CALLBACK,<br>  );<br><br>  return $items;<br><br>}<br><br><br>In the above code, when &#39;share2&#39; is clicked it submits perfectly using ahah, and converts to &#39;share&#39; but this button does not have ahah properties.<br>
<font color="#888888">

<br clear="all">--<br>Regards,<br>Nitin Kumar Gupta<br><a href="http://publicmind.in/blog/" target="_blank">http://publicmind.in/blog/</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Randy Fay<br>Drupal Development, troubleshooting, and debugging<br><a href="mailto:randy@randyfay.com">randy@randyfay.com</a><br>+1  970.462.7450<br><br>