Puncte:0

Adresa formularului web ucide ajax?

drapel om

Cum atașez un comportament Ajax la mine țară câmp (care are deja un comportament derulant).

Am un formular simplu definit folosind modulul formular web. introduceți descrierea imaginii aici

Într-o implementare a hook_webform_alter Am următorul cod care funcționează...

$form['elements']['business_e_mail']['#ajax'] = [
    'callback' => 'ajax_callback',
    'wrapper' => 'opt-in-wrapper',
    'disable-refocus' => FALSE, 
    'eveniment' => 'schimbare',
  ];

Cu toate acestea, dacă încerc să atașez comportamentul #ajax la câmpul de țară, care este cu adevărat ceea ce am nevoie, nu primesc niciun răspuns. (de exemplu, apel invers ajax nu este apelat)

Cod care nu merge

$form['elements']['country_code']['#ajax'] = [
    'callback' => 'ajax_callback',
    'wrapper' => 'opt-in-wrapper',
    'disable-refocus' => FALSE,
    'eveniment' => 'schimbare',
  ];

Singura diferență aparent relevantă între cele două câmpuri este că câmpul de lucru este o simplă adresă de e-mail.

Country_code este un câmp de adresă care are și un comportament atașat (de exemplu, este un dropdown.

Orice ajutor ar fi foarte apreciat!

introduceți descrierea imaginii aici

Jaypan avatar
drapel de
Cum arată `$form['elements']['country_code']` nemodificat în definiția formularului? Poate fi necesar să atașați `#ajax` unui copil al acestuia.
sea26.2 avatar
drapel om
@jaypan Mulțumesc că ai sărit în asta... Formularul este aproape standard din modulul webform. ` Codul tarii [ #tip #titlu #webform_key #webform_plugin_id ... ` Interesantă idee pe care o aveți... nu sunt sigur cât de eficientă va fi pentru că trebuie să găsesc un element care să se schimbe - nu?
sea26.2 avatar
drapel om
Ar trebui să găsesc un copil care este modificat, sau poate nu? `cod_țară [ #titlu #webform_key #country_code__options ]`
Jaypan avatar
drapel de
Eu nu folosesc formularul web. Dar elementele de formular din Drupal au adesea elemente de formular copii și trebuie să atașați #ajax la elementul de formular real (selectare, introducere), deoarece nu va funcționa când îl atașați la un părinte. Acest lucru îmi indică faptul că l-ați atașat unui părinte, nu copilului.

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.