Puncte:0

Cum să vedeți dacă ajax a fost adăugat la un formular de nod simplu?

drapel km

Această personalizare foarte simplă #ajax la un formular de nod nu funcționează. Cum pot spune dacă apelul invers a fost adăugat? Vreau să calculez un câmp dacă primul câmp este modificat.

funcția cbi_currency_form_node_bond_edit_form_alter(&$form, FormStateInterface 
   $form_state, $form_id) {

    $form['field_bond_amt_issued']['#ajax'] = [
    'callback' => 'cbi_currency_convert_usd',
    'eveniment' => 'schimbare',
    'wrapper' => 'edit-field-bond-usd-amt-issued-wrapper',
    'progres' => [
      'type' => 'throbber',
       'message' => t('Conversia în USD...'),
     ],
  ];
 $form['field_bond_amt_issued']['#prefix'] = t('se verific pentru a vedea un element ajax.');
}

Ia valoarea de la field_bond_amt_issued și calculați o valoare pentru field_bond_usd_amt_issued.

Reapelul este simplu

funcția cbi_currency_convert_usd(array &$form, FormStateInterface $form_state) {
  $form['output']['#value'] = 33;
  returnează $form['ieșire'];
}

Nu văd nicio solicitare xhr când examinez în consola de rețea din browser.

Kevin avatar
drapel in
Utilizarea xdebug pentru a parcurge codul ar fi cea mai ușoară modalitate de a vedea apelarea apelată. Dar acel prefix pare ciudat? Cu ce ​​este legată „$form['output']”?
Interlated avatar
drapel km
Am avut lovituri și greșeli în trecut cu x-debug la apel invers. Nu văd că este lovit în vizualizarea rețelei, așa că presupun că nici măcar nu este declanșat. Xdebug cu siguranță nu o ridică.
Kevin avatar
drapel in
Deci este un element de formular widget, nu un formular standard? Xdebug vă va arăta structura elementului de formular.
Interlated avatar
drapel km
Formular standard de editare a conținutului. Pot vedea structura formularului.
Kevin avatar
drapel in
Da, totuși, #ajax este adăugat în partea dreaptă a structurii? Consultați: https://drupal.stackexchange.com/questions/277008/how-to-implement-ajax-callback-on-form-alter-for-entity-field
Interlated avatar
drapel km
Ah - mulțumesc $form['field_bond_amt_issued']['widget'][0]['value']['#ajax'] = [

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.