Score:1

การโทรกลับ AJAX จะเริ่มทำงานเพียงครั้งเดียว

ธง eg

ฉันใช้ hook_form_alter() ขอเพิ่ม an นำมาใช้ ปุ่มไปที่แบบฟอร์มแก้ไขโหนด.. เมื่อผู้ใช้คลิกที่ปุ่มนั้น การเรียกกลับ AJAX จะแทนที่ค่าฟิลด์ข้อความ

ใช้งานได้ดีในครั้งแรก แต่ครั้งที่สองไม่ได้แทนที่ค่า

ฟังก์ชัน course_form_node_items_edit_form_alter (&$form, FormStateInterface $form_state) {

  $form['สมัคร'] = array(
    '#type' => 'ส่ง',
    '#value' => t('สมัคร'),
    '#น้ำหนัก' => '38',
    '#executes_submit_callback' => เท็จ
    '#limit_validation_errors' => อาร์เรย์(),
    '#ajax' => อาร์เรย์(
      'callback' => 'button_test_callback',
      'wrapper' => 'แก้ไขฟิลด์ข้อความธรรมดา 0 ค่า',
    ),
  );
}
    
ฟังก์ชัน button_test_callback (&$form, FormStateInterface $form_state) {
  $item_id = $form['field_item_id']['widget'][0]['value']['#value'];
  $sql = "เลือก item_name
          จากรายการ
          WHERE field_item_id = '" . $item_id . "'";
    
  $location = \Drupal::database()->query($sql)->fetchAssoc();
    
  $form['field_text_plain']['widget'][0]['value']['#value'] = $location;
 $form['field_text_plain']['widget']['0']['value']['#id'] = 'แก้ไขฟิลด์ข้อความธรรมดา-0-ค่า';
  ส่งคืน $form['field_text_plain'];
}

หลังจากคลิกครั้งแรก form_text_plain ตัวอย่างเช่น ID เปลี่ยนเป็นค่าสุ่ม แก้ไขฟิลด์ข้อความธรรมดา 0 ค่า xhfjwos. ดูเหมือนว่าจะเป็นประเด็น

มีวิธีใดบ้างที่จะหลีกเลี่ยง form_text_plain ไอดีเปลี่ยน?

Jaypan avatar
de flag
ฉันเดาว่ารหัส wrapper จะเปลี่ยนไปเมื่อมีการเปลี่ยนครั้งแรก มันไม่แสดงว่ารหัส wrapper นั้นมาจากไหน ดังนั้นจึงเป็นการคาดเดา
vyshnavi avatar
eg flag
@Jaypan ตอนนี้ฉันสามารถเปลี่ยน id ของ wrapper ได้ แต่ดูเหมือนว่าปัญหาจริงคือการโทรกลับไม่ได้รับอินพุตฟิลด์แบบฟอร์มผู้ใช้ที่อัปเดตเมื่อผู้ใช้ป้อนค่ารหัสรายการเป็นครั้งที่สอง อัปเดตค่าฟิลด์แบบฟอร์มเพื่อโทรกลับ ?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา