Scambiare due form usando ajax
Salve a tutti,
volevo chiedere il vostro aiuto per risolvere un problema che mi affligge da ormai qualche giorno.
Concettualmente l'idea e' molto semplice:
- Dato un form1 (che include un label1 e un bottone1);
- al click del bottone scambiarlo con un'altro form2 (che include label2 e bottone2);
- al click del bottone2 rivisualizzare il form1;
- utilizzare ajax per evitare il caricamento della pagina intera.
Ho provato diversi approcci ma per il momento son sempre falliti in quanto pare che nel form2 il bottone2 non utilizzi ajax.
Vi presento il codice:
Form1:
function item_fields($form, &$form_state)
{
...
$form['name'] = array(
'#type' => 'item',
'#title'=> $ghost_name,
'#prefix' => '
',
);
$form['action'] = array(
'#type' => 'button',
'#value'=> 'Edit',
'#executes_submit_callback' => FALSE,
'#suffix' => '
',
'#ajax' => array(
'callback' => 'item_to_edit',
'wrapper' => 'item_fields',
),
);
return $form;
}
function item_to_edit($form, $form_state)
{
drupal_set_message('item_to_edit');
return edit_fields($form, $form_state);
}
function edit_fields($form, $form_state)
{
...
$form['name'] = array(
'#type' => 'item',
'#title'=> $ghost_name,
'#prefix' => '
',
);
$form['action'] = array(
'#type' => 'button',
'#value'=> 'Save',
'#executes_submit_callback' => FALSE,
'#suffix' => '
',
'#ajax' => array(
'callback' => 'edit_to_item',
'wrapper' => 'edit_fields',
),
);
return $form;
}
function edit_to_item($form, $form_state)
{
drupal_set_message('edit to item');
return item_fields($form, $form_state);
}
Grazie per il vostro aiuto

Risposte
Ciao, dovresti provare ad
Ciao, dovresti provare ad utilizzare i form multistep di Drupal e integrarli con ajax. Ho trovato alcuni esempi in rete:
http://www.nicklewis.org/using-chaos-tools-form-wizard-build-multistep-f...
http://www.designend.net/en/webmaster-blog,drupal-ahah-multistep-ahah-fo...
spero ti siano utili.
Grazie mille, grazie a te ho
Grazie mille, grazie a te ho risolto il problema!
Bene! Se puoi, posta qualche
Bene! Se puoi, posta qualche info sulla tua soluzione, può essere utile ad altri utenti!