Score:2

ปิดใช้งานฟิลด์หากปิดใช้งานฟิลด์อื่น

ธง lb

ฉันต้องการปิดการใช้งานฟิลด์ ถ้าสนาม ถูกปิดใช้งานด้วย ที่จริงสนามปัจจุบันของฉัน มี #states ต่อไปนี้ (แก้ไขโดยใช้ hook_alter_form) เพื่อปิดการใช้งานถ้าฟิลด์ หรือสนาม ว่างเปล่า:

/**
 * ใช้ hook_form_alter()
 */
ฟังก์ชัน my_module_form_alter(&$form, $form_state, $form_id) {
 
  $form['field_a']['#states'] = [
    'ปิดการใช้งาน' => [
      [':input[name="field_b[0][value][date]"]' => ['empty' => TRUE]],
      'หรือ',
      [':input[name="field_c[0][value][date]"]' => ['empty' => TRUE]],
    ]
  ];
}

และทำงานได้อย่างสมบูรณ์ แต่ฉันต้องเพิ่มเงื่อนไขที่กล่าวถึงก่อนหน้านี้ ฉันพบสิ่งนี้ในเอกสารอย่างเป็นทางการ: https://www.drupal.org/docs/drupal-apis/form-api/conditional-form-fields และฉันพยายามใช้บางอย่างเช่น 'อ่านอย่างเดียว' หรือ 'อ่านเขียน' แต่ไม่ได้ผล ฉันสามารถประเมินคุณสมบัติเช่น '#disabled' จากที่นี่ได้หรือไม่ สิ่งที่คล้ายกับสิ่งนี้:

ฟังก์ชัน my_module_form_alter(&$form, $form_state, $form_id) {

  $form['field_a']['#states'] = [
    'ปิดการใช้งาน' => [
      [':input[name="field_b[0][value][date]"]' => ['empty' => TRUE]],
      'หรือ',
      [':input[name="field_c[0][value][date]"]' => ['empty' => TRUE]],
      'หรือ',
      [':input[name="field_b"]' => ['#disabled' => TRUE]],
    ]
  ];
}
in flag
คุณอาจต้องการดู [โมดูลฟิลด์เงื่อนไข](https://www.drupal.org/project/conditional_fields) อาจครอบคลุมความต้องการของคุณ
Score:0
ธง cn

คุณไม่สามารถทำเช่นนี้กับสถานะ นี่คือสิ่งที่เอกสารกล่าว

สถานะต่อไปนี้อาจใช้เมื่อตรวจสอบค่าของฟิลด์อื่น:

ว่างเปล่า
เต็ม
ตรวจสอบแล้ว
ไม่ได้ตรวจสอบ
ขยายตัว
ยุบ
ค่า

ดังนั้นสำหรับคุณสมบัติเฉพาะนี้ คุณจะต้องใช้จาวาสคริปต์หรือ jquery

โพสต์คำตอบ

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