Puncte:1

Apelul invers AJAX este declanșat o singură dată

drapel eg

eu folosesc hook_form_alter() cârlig pentru a adăuga un aplica butonul la formularul de editare a nodului.. Când utilizatorii dau clic pe acel buton, un apel invers AJAX înlocuiește valoarea câmpului de text.

Funcționează bine prima dată, dar a doua oară nu înlocuiește valoarea.

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

  $form['aplica'] = matrice(
    '#type' => 'trimite',
    '#value' => t('Aplicați'),
    '#weight' => '38',
    '#executes_submit_callback' => FALSE,
    '#limit_validation_errors' => array(),
    '#ajax' => matrice(
      'callback' => 'button_test_callback',
      'wrapper' => 'edit-field-text-plain-0-value',
    ),
  );
}
    
function button_test_callback(&$form, FormStateInterface $form_state) {
  $item_id = $form['field_item_id']['widget'][0]['value']['#value'];
  $sql = "SELECTARE nume_articol
          DIN articole
          WHERE field_item_id = '" . $item_id . "'";
    
  $locatie = \Drupal::database()->query($sql)->fetchAssoc();
    
  $form['field_text_plain']['widget'][0]['value']['#value'] = $location;
 $form['field_text_plain']['widget']['0']['value']['#id'] = 'edit-field-text-plain-0-value';
  returnează $form['field_text_plain'];
}

După primul clic, form_text_plain ID-ul se modifică la o valoare aleatorie, de exemplu edit-field-text-plain-0-value-xhfjwos. Se pare că asta este problema.

Există vreo modalitate de a evita form_text_plain modificări de identitate?

Jaypan avatar
drapel de
Bănuiesc că ID-ul ambalajului se schimbă atunci când este înlocuit pentru prima dată. Totuși, nu este afișat de unde provine acel ID de ambalaj, așa că sunt speculații.
vyshnavi avatar
drapel eg
@Jaypan acum pot să schimb id-ul wrapper-ului, dar se pare că adevărata problemă este că apelul înapoi nu primește intrarea actualizată a câmpului de formular al utilizatorului atunci când utilizatorul introduce a doua oară valoarea ID-ului articolului, există oricum pentru a obține asta a actualizat valoarea câmpului de formular pentru apel invers?

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.