שדות להזנת טקסט

שדה קלט טקסט מאחסן מחרוזת כערך ומחרוזת כטקסט. הערך שלו הוא תמיד מחרוזת תקינה, אבל הטקסט יכול להיות כל מחרוזת שמוזנת בכלי העריכה שלו.

שדה להזנת טקסט

בלוק עם התווית '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 מאפשרת גם להגדיר את האפשרות spellcheck.

סידור הפרקים ו-XML

JSON

קובץ ה-JSON של שדה קלט טקסט נראה כך:

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

כאשר FIELDNAME היא מחרוזת שמפנה לשדה קלט טקסט, והערך הוא הערך שרוצים להחיל על השדה. הערך פועל לפי אותם כללים כמו ערך הבונה.

XML

קובץ ה-XML של שדה להזנת טקסט נראה כך:

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

כאשר המאפיין name של השדה מכיל מחרוזת שמפנה לשדה להזנת טקסט, והטקסט הפנימי הוא הערך שיוחל על השדה. ערך הטקסט הפנימי צריך לעמוד באותם כללים שחלים על ערך הבנאי.

התאמה אישית

בדיקת איות

אפשר להשתמש בפונקציה setSpellcheck כדי להגדיר אם בשדה תתבצע בדיקת איות של טקסט הקלט או לא.

שדות להזנת טקסט עם ובלי בדיקת איות

קובץ GIF מונפש שמציג שני בלוקים עם שדות להזנת טקסט. בבלוק הראשון, בדיקת האיות מופעלת ומילים עם שגיאות איות מסומנות בקו אדום גלי. בבלוק השני, בדיקת האיות מושבתת והמילים שאויתו בצורה שגויה לא מסומנות בקו תחתון.

בדיקת האיות מופעלת כברירת מחדל.

ההגדרה הזו חלה על שדות נפרדים. אם רוצים לשנות את כל השדות, משנים את המאפיין Blockly.FieldTextInput.prototype.spellcheck_.

יצירת כלי לאימות קלט טקסט

הערך של שדה קלט טקסט הוא מחרוזת, ולכן כל אמצעי האימות חייבים לקבל מחרוזת ולהחזיר מחרוזת, null או undefined.

הנה דוגמה לכלי תיקוף שמסיר את כל התווים a מהמחרוזת:

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

קובץ GIF מונפש שמציג שדה להזנת טקסט שעובר אימות. כשהמשתמש מקליד &#39;bbbaaa&#39; ולוחץ במקום אחר, השדה משתנה ל-&#39;bbb&#39;.