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

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

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

บล็อกที่มีป้ายกำกับ "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');
  }
};

ตัวสร้างอินพุตข้อความจะรับค่าที่ไม่บังคับและเครื่องมือตรวจสอบที่ไม่บังคับ ค่าควรส่งไปยังสตริง หากเป็น 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;