There's an AJAX enabled multistep form in the examples module and another in Chaos Tools (ctools_ajax_sample.module) In both cases the form is built in the function and doesn't use the default core node form.

Closer to what I'm after is a multistep node form using hook_form_FORM_ID_alter() but this one isn't AJAX.

Is it possible to use hook_form_alter() to create a multistep node form that is AJAX enabled, or should I build my multistep form independently, then use drupal_form_submit() or a new node object to save the data?

Drupal 7

  • Essentially, I can work out how to build a mutistep node form that refreshes the entire page at each step of the form, but I can't work out how to reload only the form itself with each step using the default core node form structure.
    – Rick
    Jul 22, 2011 at 5:23

1 Answer 1


I think trying to use multistep, ajax and the core node form may be quite tricky. I am not going to say impossible, but I think it would be a lot of work.

I would think using a custom form and saving the node as you suggest may be easier, what you'll loose with this is the flexibility of having it integrated, so if you add a new field to the node, you will need to change your form.

  • 1
    The main problem with making a custom form then adding a node programatically is that it won't be used when editing the node. I'd need to also set up a menu item to call my custom form and hide the core links for adding a node of this type so that two options were not available in the menus. That seems like a lot of side stepping around core behavior to achieve a form reload rather than a page reload.
    – Rick
    Jul 22, 2011 at 22:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.