Am actualizat cu succes un câmp din ajax. Declarația sa este următoarea:
$form['field_unite_de_recherche']['widget']['#ajax'] = array(
'callback' => 'ajax_equipes_from_unites_callback',
'eveniment' => 'schimbare',
'method' => 'html',
'wrapper' => 'edit-field-equipe-membre2-wrapper',
);
Acest câmp ajaxificat este declarat după cum urmează:
$form['field_equipe_membre2'] = [
'#type' => 'selectați',
'#title' => 'Echipament(e) membru(e) atașat(e) Ã '.$title,
'#options' => $opțiuni,
];
Întrebarea mea este: cum să cunoașteți și să salvați valoarea selectată în acest câmp ajaxificat de către utilizator?
Am încercat să adaug o altă declarație ajax în acest câmp ajaxificat, după cum urmează:
$form['field_equipe_membre2'] = [
'#type' => 'selectați',
'#title' => 'Echipament(e) membru(e) atașat(e) Ã '.$title,
'#options' => $opțiuni,
'#ajax' => matrice(
'callback' => 'ajax_save_choice_callback',
'eveniment' => 'schimbare',
'method' => 'html',
'wrapper' => 'edit-field-equipe-membre2-wrapper',
)
];
Dar funcția de apel invers nu este declanșată. Există o limitare a funcției ajax într-o formă?
Am roșu de câteva ori că pot folosi $form_sate, de exemplu, ca în cele ce urmează (de la Apelul Ajax cu Trimitere pierde datele din formularul trimis)
$valoare = $form_state->getValue('field_equipe_membre2');
$testArray = array('field_equipe_membre2' => $valoare);
$form_state->setStorage($testArray);
Dar apelul înapoi nu este declanșat.
Pot avea niște sfaturi?