ฉันกำลังพยายามสร้างเว็บฟอร์ม (Webform 8.x, Drupal 8) ซึ่งต้องการให้ผู้ใช้สามารถส่งฟอร์มได้หลายครั้ง
เพื่อให้กระบวนการง่ายขึ้นสำหรับผู้ใช้ ฉันต้องการตั้งค่าช่องแบบฟอร์มบางช่องเป็น:
- ว่างจากการเข้าชมแบบฟอร์มครั้งแรก
- สำหรับการเรนเดอร์แบบฟอร์มในครั้งต่อๆ ไป ฟิลด์แบบฟอร์มบางฟิลด์ควรได้รับการเติมข้อมูลล่วงหน้าด้วยการส่งจากการส่งครั้งก่อน
มีวิธีการบรรลุผลโดยใช้โทเค็นหรือไม่?
ฉันพยายามใช้โทเค็นเพื่อทำสิ่งนี้ (รายละเอียดด้านล่าง) แต่วิธีการต่างๆ ไม่ได้ผล
ตัวอย่างทั้งหมดด้านล่างกล่าวถึง ชื่อจริง
ซึ่งอยู่ในฟิลด์ ข้อมูลส่วนบุคคล
ชุดเขตข้อมูล
ฉันได้เพิ่มโทเค็นต่อไปนี้ในฟิลด์ของ ค่าเริ่มต้น
สนามที่ไม่มีโชค:
- หน้าสนับสนุนนี้เกี่ยวกับโทเค็นเว็บฟอร์ม (สำหรับเว็บฟอร์ม 7.x): https://www.drupal.org/comment/reply/2790291 ...แนะนำว่าฉันเข้าถึงค่าโดยใช้:
[การส่ง:ค่า:ข้อมูลส่วนตัว:ชื่อแรก]
...แต่มันใช้งานไม่ได้เมื่อฉันเพิ่มลงในฟิลด์ 'ค่าเริ่มต้น' แต่ฉันได้รับข้อผิดพลาดจาก Drupal ที่แจ้งว่า:
ค่าเริ่มต้นใช้โทเค็นที่ไม่ถูกต้องต่อไปนี้: [submission:values:personal_information:first_name]
+++
หากฉันทำตามคำแนะนำเกี่ยวกับโทเค็นในแบบฟอร์มใน Webform 8.x ดูเหมือนว่าจะแนะนำให้ฉันใช้โครงสร้างนี้สำหรับโทเค็นของฉัน:
[webform_submission:เว็บฟอร์ม:องค์ประกอบ:ชื่อแรก]
...ผลลัพธ์คือป้ายกำกับของฟิลด์ ('ชื่อ') ถูกเติมข้อมูลล่วงหน้าในฟิลด์
หากฉันต่อท้าย :clear ต่อท้าย ผลลัพธ์ก็เหมือนเดิม ป้ายชื่อฟิลด์ยังคงถูกเติมข้อมูลไว้ล่วงหน้าในฟิลด์
ดูเหมือนว่านี่จะเป็นตัวเลือกที่ประสบความสำเร็จมากที่สุด
+++
ถ้าฉันเพิ่ม :value โทเค็น:
[webform_submission:แบบฟอร์มเว็บ:องค์ประกอบ:ชื่อแรก:ค่า]
...ผลลัพธ์คือข้อความของโทเค็นถูกเติมข้อมูลไว้ล่วงหน้าในฟิลด์
ถ้าฉันต่อท้าย :clear ต่อท้าย:
[webform_submission:webform:element:first_name:value:clear]
...ฟิลด์นี้ว่างเปล่าในการส่งครั้งแรกและครั้งต่อๆ ไป
+++
ถ้าฉันใช้สิ่งนี้ ซึ่งดูเหมือนจะเป็นแนวทางในส่วนโทเค็นเกี่ยวกับ 'โทเค็นเว็บฟอร์มจากข้อมูลที่ส่ง':
[webform_submission:values:first_name]
...มันทำให้ข้อความของโทเค็น
ถ้าฉันต่อท้าย :clear ต่อท้าย:
[webform_submission:values:first_name:clear]
...ฟิลด์นี้ว่างเปล่าในการส่งครั้งแรกและครั้งต่อๆ ไป
ถ้าฉันรวมค่า fieldset:
[webform_submission:values:personal_information:first_name]
...ไซต์ส่งคืนข้อความแสดงข้อผิดพลาด: "LogicException: "[webform_submission:values:personal_information:first_name]" กำลังถูกเรียกซ้ำ..." และข้อผิดพลาด yaml ที่ตามมาหลังจากเปลี่ยนแปลง วิธีเดียวที่ฉันสามารถแก้ไขปัญหานี้ได้ (แม้หลังจากแก้ไข yaml ของแบบฟอร์มผ่าน CMS หรือไฟล์ปรับแต่งแล้ว) คือการลบฟิลด์แบบฟอร์มแล้วสร้างใหม่
+++
ถ้าฉันพยายามทำสิ่งนี้:
[webform_submission:values:first_name:raw]
...มันทำให้ข้อความของโทเค็น
ถ้าฉันเพิ่ม :clear ต่อท้าย ฟิลด์จะว่างเปล่าในการส่งครั้งแรกและครั้งต่อๆ ไป