ช่องป้อนข้อความ

ช่องป้อนข้อความจะจัดเก็บสตริงเป็นค่าและสตริงเป็นข้อความ ค่าของช่องจะเป็นสตริงที่ถูกต้องเสมอ ขณะที่ข้อความอาจเป็นสตริงใดก็ได้ที่ป้อนลงในเครื่องมือแก้ไข

ช่องป้อนข้อความ

บล็อกที่มีป้ายกำกับ "text input:" และช่องป้อนข้อความที่ตั้งค่าเป็น "default
text"

ช่องป้อนข้อความที่เปิดเครื่องมือแก้ไข

บล็อกเดียวกันที่มีฟิลด์ที่
กำลังแก้ไข

ช่องป้อนข้อความในบล็อกที่ยุบ

บล็อกเดียวกันหลังจากยุบ โดยมีป้ายกำกับ "text input: default
text" และขอบด้านขวาเป็นรอยหยักเพื่อแสดงว่า
ยุบอยู่

การสร้างวิดีโอ

JSON

{
  "type": "example_textinput",
  "message0": "text input: %1",
  "args0": [
    {
      "type": "field_input",
      "name": "FIELDNAME",
      "text": "default text",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_textinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("text input:")
        .appendField(new Blockly.FieldTextInput('default text'),
            'FIELDNAME');
  }
};

ตัวสร้างอินพุตข้อความจะรับค่าที่ไม่บังคับและตัวตรวจสอบความถูกต้องที่ไม่บังคับ validator. ค่าควรแปลงเป็นสตริง หากเป็น null หรือ undefined ระบบจะใช้สตริงว่าง

คำจำกัดความของ JSON ยังช่วยให้คุณตั้งค่าตัวเลือกการสะกดได้ด้วย

การเรียงอันดับและ XML

JSON

JSON สำหรับช่องป้อนข้อความมีลักษณะดังนี้

{
  "fields": {
    "FIELDNAME": "text"
  }
}

โดยที่ FIELDNAME เป็นสตริงที่อ้างอิงช่องป้อนข้อความ และค่าคือค่าที่จะใช้กับช่อง ค่าจะเป็นไปตามกฎเดียวกับค่าตัวสร้าง

XML

XML สำหรับช่องป้อนข้อความมีลักษณะดังนี้

<field name="FIELDNAME">text</field>

โดยที่แอตทริบิวต์ name ของช่องจะมีสตริงที่อ้างอิงช่องป้อนข้อความ และข้อความภายในคือค่าที่จะใช้กับช่อง ค่าข้อความภายในจะเป็นไปตามกฎเดียวกับค่าตัวสร้าง

การปรับแต่ง

การสะกด

คุณสามารถใช้ฟังก์ชัน setSpellcheck เพื่อตั้งค่าว่าช่องจะสะกดข้อความที่ป้อนหรือไม่

ช่องป้อนข้อความที่มีและไม่มีการสะกด

GIF ภาพเคลื่อนไหวที่แสดงบล็อก 2 บล็อกที่มีช่องป้อนข้อความ บล็อกแรกเปิด
การตรวจตัวสะกดไว้ และคำที่สะกดผิดจะมีเส้นสีแดงหยักๆ ขีดเส้นใต้ 
บล็อกที่ 2 ปิดตัวตรวจสอบตัวสะกดและจะไม่ขีดเส้นใต้
คำที่สะกดผิด

การสะกดจะเปิดอยู่โดยค่าเริ่มต้น

การเปลี่ยนแปลงนี้จะมีผลกับแต่ละช่อง หากต้องการแก้ไขช่องทั้งหมด ให้เปลี่ยนพร็อพเพอร์ตี้ Blockly.FieldTextInput.prototype.spellcheck_

การสร้างตัวตรวจสอบความถูกต้องของอินพุตข้อความ

ค่าของช่องป้อนข้อความเป็นสตริง ดังนั้นตัวตรวจสอบความถูกต้องทั้งหมดต้องยอมรับสตริงและแสดงผลสตริง null หรือ undefined

ตัวอย่างโปรแกรมตรวจสอบที่นำอักขระ a ทั้งหมดออกจากสตริง

function(newValue) {
  return newValue.replace(/a/g, '');
}

GIF ภาพเคลื่อนไหวที่แสดงช่องป้อนข้อมูลที่ได้รับการตรวจสอบแล้ว เมื่อผู้ใช้พิมพ์ &quot;bbbaaa&quot; และคลิกที่อื่น ระบบจะเปลี่ยนฟิลด์เป็น &quot;bbb&quot;