คู่มือ aWhere
พัฒนาWidgets

ฟอร์ม

ฝังฟอร์มให้ผู้ใช้กรอกเป็นระเบียนใหม่ หรือเปิดระเบียนที่มีอยู่เพื่อแก้ไขหรือดู

widget ฟอร์ม แสดงฟอร์มหนึ่งฟอร์ม เมื่อผู้ใช้กดส่ง widget บันทึกเป็นระเบียนในตารางของฟอร์ม แล้วบอกหน้าของคุณ ส่วนที่เหลือของข้อตกลง (credential, ready, error) ดู Widgets

URL และพารามิเตอร์

URL คือ <site>/widgets/form ค่า boolean เขียนเป็น true หรือ false

พารามิเตอร์ความหมายต้องมี
item_idid ของรายการฟอร์ม หรือของรายการตาราง ถ้าเป็นตาราง widget สร้างฟอร์มจากฟิลด์ที่มองเห็นและแก้ได้ต้องมี
data_idid ของระเบียนที่จะเปิดแก้ไข ไม่ใส่คือสร้างระเบียนใหม่ไม่
selectabletrue เพิ่มช่องให้ผู้ใช้เลือกระเบียนที่จะแก้ ช่องนี้ขึ้นเมื่อฟอร์มเปิดให้แก้ข้อมูลได้และผู้ใช้มีสิทธิ์อัปเดตข้อมูล ค่าตั้งต้น falseไม่
cancelableแสดงปุ่มปิดและปุ่มยกเลิก ค่าตั้งต้น trueไม่
readonlytrue แสดงค่าโดยไม่ให้แก้และไม่มีปุ่มส่ง ค่าตั้งต้น falseไม่
embeddedtrue ตัดขอบและระยะห่างรอบฟอร์มให้พอดีกับกรอบที่คุณฝัง ค่าตั้งต้น falseไม่
hide_headertrue ซ่อนชื่อและคำอธิบายของฟอร์ม ค่าตั้งต้น falseไม่

ข้อความ

actionทิศทางpayload
submittedwidget ถึงหน้าของคุณไม่มี ส่งหลังเซิร์ฟเวอร์บันทึกระเบียนแล้ว
cancelwidget ถึงหน้าของคุณไม่มี ส่งเมื่อผู้ใช้กดปุ่มปิดหรือปุ่มยกเลิก รวมปุ่มบนหน้าที่แจ้งว่าโหลดฟอร์มไม่ได้
errorwidget ถึงหน้าของคุณ{ statusCode } เมื่ออ่านรายการไม่ได้ เช่น 403 หรือ 404

widget นี้ไม่รับ post-widget-parameters จึงไม่ส่ง ready ใช้ได้เลยหลัง iframe โหลด

submitted ไม่บอก id ของระเบียน ถ้าคุณต้องใช้ ให้อ่านจาก API หรือสร้าง id เอง

หลังส่งสำเร็จ widget แสดงข้อความสำเร็จ และปุ่มกรอกอีกครั้ง (เมื่อไม่ได้ใส่ data_id) widget ไม่ปิดตัวเอง หน้าของคุณเป็นผู้เอา iframe ออก

ตัวอย่าง

ต่อจากตัวอย่างใน Widgets เปลี่ยนชื่อ widget เป็น form และใส่ item_id แล้วฟังข้อความของฟอร์ม

addEventListener('message', (e) => {
  if (e.origin !== site || e.data.messageToken !== messageToken) return
  if (e.data.action === 'submitted') frame.remove()
  if (e.data.action === 'cancel') frame.remove()
})

ถ้าต้องวาด geometry ในฟอร์ม

ฟิลด์ geometry ของฟอร์มแสดงเป็นช่อง ตัวแก้ไข geometry ในฟอร์มเอง คุณไม่ต้องฝังมันเพิ่ม ค่าที่ผู้ใช้วาดไปกับระเบียนที่ส่ง

ในหน้านี้