ฉันมีฟอร์มแบบกำหนดเองที่ฉันพัฒนาบนโมดูลแบบกำหนดเองเพื่อรับบางฟิลด์จากประเภทเนื้อหาที่มีการอ้างอิงเอนทิตี
ทุกอย่างเรียบร้อยดี ฉันได้รับข้อมูลทั้งหมด และฉันสามารถบันทึกค่าที่เลือกไว้บนฟิลด์ประเภทเนื้อหาได้
ปัญหาของฉันคือ: ทำไมวิทยุอินพุตตัวแรกไม่บันทึกและแสดงค่าสูงสุด แต่ฉันมี 0 อยู่ในฟิลด์เช่นค่า
รหัสของฉันเพื่อสร้างฟิลด์ของแบบฟอร์ม:
'#type' => 'วิทยุ',
'#title' => $critere->ชื่อ,
'#options' => $option_barame,
'#default_value' => isset($machine_notation->field_note_machine['und'][0]['value']),
'#attributes' => อาร์เรย์(
'คลาส' => อาร์เรย์(
'เกณฑ์_เครื่องจักร'
),
// 'id' => อาร์เรย์ (
// $machine_nota_id['target_id']
// ),
'ชื่อ' => อาร์เรย์(
$machine_nota_id['target_id']
),
),
'#ajax' => อาร์เรย์(
'callback' => 'test_ajax_form_action',
'wrapper' => $machine_nota_id['target_id'],
'วิธีการ' => 'แทนที่',
'เอฟเฟกต์' => 'จาง',
//'เหตุการณ์' => 'เปลี่ยนแปลง',
'พารามิเตอร์' => อาร์เรย์ ('idmachine'=> $machine_nota_id['target_id'])
),
และรหัสของฉันสำหรับบันทึกด้วย ajax โดยไม่ต้องส่งโดยเลือกค่าเท่านั้น:
$machnot = node_load($form_state['triggering_element']['#ajax']['parameter']['idmachine']);
$machnota = entity_metadata_wrapper('โหนด', $machnot);
// $machnota->field_note_machine->set($form_state['triggering_element']['#value']);
$machnota->field_note_machine = $form_state['triggering_element']['#value'];
$machnota->save();
และสุดท้าย การเรนเดอร์และปัญหาของฉัน:
ฉันตรวจสอบชื่ออินพุตแล้ว ID และค่าก็ไม่เหมือนกัน!
มันให้ค่าจาก 50 เพียง 12 ค่า และอินพุตแรกไม่ได้บันทึกและไม่ได้รับค่ากลับจากโหนด
ขอโทษสำหรับภาษาอังกฤษที่ไม่ดีของฉันและขอบคุณทุกคน :)