ฉันอัปเดตฟิลด์จาก ajax สำเร็จแล้ว การประกาศมีดังต่อไปนี้:
$form['field_unite_de_recherche']['widget']['#ajax'] = อาร์เรย์(
'callback' => 'ajax_equipes_from_unites_callback',
'เหตุการณ์' => 'เปลี่ยนแปลง',
'วิธีการ' => 'html',
'wrapper' => 'edit-field-equipe-membre2-wrapper',
);
ฟิลด์ ajaxified นี้มีการประกาศดังต่อไปนี้:
$แบบฟอร์ม['field_equipe_membre2'] = [
'#type' => 'เลือก',
'#title' => 'Equipe(s) membre rattachée(s) à '.$
'#options' => $ตัวเลือก,
];
คำถามของฉันคือ จะทราบและบันทึกค่าที่เลือกในฟิลด์ ajaxified นี้ได้อย่างไรโดยผู้ใช้
ฉันพยายามเพิ่มการประกาศ ajax อื่นในฟิลด์ ajaxified ดังต่อไปนี้:
$แบบฟอร์ม['field_equipe_membre2'] = [
'#type' => 'เลือก',
'#title' => 'Equipe(s) membre rattachée(s) à '.$
'#options' => $ตัวเลือก,
'#ajax' => อาร์เรย์(
'callback' => 'ajax_save_choice_callback',
'เหตุการณ์' => 'เปลี่ยนแปลง',
'วิธีการ' => 'html',
'wrapper' => 'edit-field-equipe-membre2-wrapper',
)
];
แต่ฟังก์ชันการโทรกลับไม่ได้เริ่มทำงาน มีข้อ จำกัด ของฟังก์ชัน ajax ในแบบฟอร์มหรือไม่?
ฉันแดงหลายครั้งที่ฉันสามารถใช้ $form_sate เช่นต่อไปนี้ (จาก การโทร Ajax ด้วยการส่งจะสูญเสียข้อมูลในแบบฟอร์มที่ส่ง)
$value = $form_state->getValue('field_equipe_membre2');
$testArray = array('field_equipe_membre2' => $value);
$form_state->setStorage($testArray);
แต่โทรกลับไม่ติด
ฉันขอคำแนะนำได้ไหม