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

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

שדה קלט טקסט

בלוק עם התווית 'קלט טקסט:' ושדה קלט טקסט שמוגדר לערך 'טקסט ברירת מחדל'.

שדה להזנת טקסט עם הכלי הפתוח

אותו בלוק עם השדה שעורכים.

שדה להזנת טקסט בבלוק מכווץ

אותו בלוק אחרי הכיווץ. הוא מוצג עם התווית 'קלט טקסט: טקסט ברירת המחדל' וקצה ימין משולש כדי לציין שהוא מכווץ.

יצירה

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');
  }
};

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

הגדרת ה-JSON מאפשרת גם להגדיר את האפשרות spellcheck.

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

JSON

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

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

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

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;.