Score:0

hook_form_alter ทำให้ js ในทุก ๆ แบบฟอร์มไม่ทำงาน

ธง zw

ฉันใช้ hook_form_alter() เพื่อเปลี่ยนฟิลด์

ฟังก์ชัน mymodule_form_alter(&$form, &$form_state) {
  ถ้า ($form['#id'] == 'my_form') {
    $form['my_field']['#value'] = 'ค่าใหม่';
  }
}

มันเปลี่ยนค่าฟิลด์เป็นค่าใหม่ แต่ปัญหาคือ ทันทีที่ฉันเปิดใช้งานโมดูลนี้ JavaScript บนแบบฟอร์มจะหยุดทำงาน ตัวอย่างเช่น เมนูแบบเลื่อนลง การเติมข้อความอัตโนมัติ AJAX ไม่ทำงานอีกต่อไป

ฉันไม่สามารถเข้าใจสาเหตุนี้

cn flag
ลองเปลี่ยนธีมชั่วคราว (เป็นธีมใดๆ ที่มาพร้อมกับคอร์ซึ่งคุณไม่ได้ใช้งานอยู่แล้ว) และดูว่าข้อผิดพลาดยังคงเกิดขึ้นหรือไม่
Jaypan avatar
de flag
คุณกำลังวินิจฉัยปัญหาของคุณผิด เนื่องจากรหัสนี้จะไม่ทำให้เกิดปัญหาที่คุณกำลังเผชิญอยู่
No Sssweat avatar
ua flag
ตรวจสอบคอนโซลของเบราว์เซอร์เพื่อหาข้อผิดพลาด JS
apaderno avatar
us flag
@Jaypan ถูกต้อง: รหัสนั้นไม่สามารถทำให้เกิดปัญหากับรหัส JavaScript คุณไม่ได้รับรหัสแบบฟอร์มจาก `$form['#id']` แต่นั่นเป็นอีกเรื่องหนึ่ง
apaderno avatar
us flag
นอกจากนี้ ก่อนที่จะตั้งค่า `$form['my_field']['#value']` คุณควรตรวจสอบว่าได้ตั้งค่า `$form['my_field']` แล้ว

โพสต์คำตอบ

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