Creare form con AHAH

6 contenuti / 0 new
Ultimo contenuto
Creare form con AHAH

Credo possa far comodo, ce ne sono già diverse guide e ho cercato di riunire il meglio di tutte e spero di averlo spiegato in modo chiaro, in caso non sia così criticate (costrutttivamente, grazie) pure.

Ottima guida mavimo,mi hai evitato uno studio impressionante nei prossimi giorni :)

Sono contento che a qualche cosa sia servito, ovviamente se c'è qualche cosa di non chiaro chiedi pure :)

Ciao
Marco
--
My blog
Working at @agavee

Ciao mavimo,

ho seguito la tua guida ed ho capito il funzionamente dei form ahah.
Però adesso non mi riesce mandare i post generati da un form ahah (una select multiple) ad una tabella dove vi sono dei checkbox da spuntare.

Come posso fare?

@ymisteryy: non capisco cosa vuoi fare, il post di una pagina (o meglio il submit) finisce ad una tua funzione che poi fa quello che vuoi (magari ridirigendo l'utente a un altro for tramite drupal_goto() ), quale è esattamente il tuo problema? Creare dei form a tabella? Se la risposta è si dai un occhio a questo articolo:

Ciao
Marco
--
My blog
Working at @agavee

Complimenti per le tue istruzioni su ahah! Io però mi trovo ad affrontare un errore HTTP 0 quando clicco su un bottone submit e contemporaneamente è caricato il campo di tipo file. Il codice è il seguente:

/**
* codice nell' hook_menu
*/
................
$items['candidati/renderfieldsubmitwait'] = array(
    'page callback' => 'candidati_renderfields_submitwait',
    'access arguments' => array('post candidati'),
    'type' => MENU_CALLBACK,
  );
................
function candidati_simple_form() {
global $user, $language;
  $form['#attributes']['enctype'] = 'multipart/form-data';
  $form['#validate'][] = 'candidati_simpleform_validate';
  $form['#submit'][] = 'candidati_simpleform_submit';
..............
..............
$form['cv'] = array('#type' => 'file',
    '#title' => t("Cv <font color='#AA1144'>*</font>"),
    '#maxlength' => 255,
    '#size' => 9,
    '#description' => t("File doc, docx, pdf. %size MB.", array('%size' => '1')),
    '#prefix' => '<div class="div-inputfile">',
    '#suffix' => '</div>',
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t("Prosegui"),
    '#prefix' => '<div class="div-submit-prosegui">',
    '#suffix' => '</div>',
    '#attributes' => array('onclick' => 'return checkIsEmptyFormStep1();'),
    '#ahah' => array(
      'path' => 'candidati/renderfieldsubmitwait',
      'event'=>'click',
      'wrapper' => 'submit-wrapper',
      'progress' => array('type' => 'bar', 'message' => t('Attendere il caricamento...')),
      'method' => 'replace',
      'effect' => 'fade',
    ),
  );
  $form['submit_wrapper'] = array(
    '#type'=>'item',
    '#prefix' => '<div class="div-submit-prosegui" id="submit-wrapper" style="display:block">Attendere il caricamento...',
    '#suffix' => '</div>',
    '#type'=>'item',
  );
  $form['#theme'] = 'candidati_drawsimpleform';
  return $form;
}
function candidati_renderfields_submitwait() {
global $language;
  $form_state = array('submitted' => FALSE);
  $form_build_id = $_POST['form_build_id'];
  $form = form_get_cache($form_build_id, $form_state);
  $form['submit_wrapper'] = array(
    '#type'=>'item',
    '#prefix' => '<div id="submit-wrapper">',
    '#suffix' => '</div>',
    '#type'=>'item',
  );
  form_set_cache($form_build_id, $form, $form_state);
  $form += array(
      '#post' => $_POST,
      '#programmed' => FALSE,
    );
  $form = form_builder($_POST['form_id'], $form, $form_state);
  $output = drupal_render($form[submit_wrapper]);
  drupal_json(array('status' => TRUE, 'data' => $_POST['tipo'].$output));
  exit;
}

Questo codice funziona in parte restituendo un errore HTTP 0, dove posso trovare una guida che mi indichi come risolvere il problema o avere una dritta su come fare?
Grazie