Texteingabefelder

In einem Texteingabefeld wird ein String als Wert und ein String als Text gespeichert. Das value ist immer eine gültige Zeichenfolge, sein Text kann jedoch eine beliebige Zeichenfolge sein, die in des Herausgebers.

Texteingabefeld

Texteingabefeld mit geöffnetem Editor

Texteingabefeld auf minimiertem Block

Erstellung

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

Der Texteingabekonstruktor übernimmt einen optionalen Wert und einen optionalen validator zu haben. Der Wert sollte in einen . Bei null oder undefined wird ein leerer String verwendet.

In der JSON-Definition können Sie auch die Option spellcheck festlegen.

Serialisierung und XML

JSON

Die JSON-Datei für ein Texteingabefeld sieht so aus:

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

Dabei ist FIELDNAME ein String, der auf ein Texteingabefeld verweist, und Wert ist der Wert, der auf das Feld angewendet werden soll. Der Wert folgt denselben Regeln wie der Konstruktorwert.

XML

Der XML-Code für ein Texteingabefeld sieht so aus:

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

Das Attribut name des Felds enthält einen String, der auf eine Texteingabe verweist. und der innere Text ist der Wert, der auf das Feld angewendet werden soll. Das innere text -Wert folgt denselben Regeln wie der Konstruktorwert.

Anpassung

Rechtschreibprüfung

Die setSpellcheck kann verwendet werden, um festzulegen, ob für das Feld die Rechtschreibprüfung für den eingegebenen Text durchgeführt wird oder nicht.

Texteingabefelder mit und ohne Rechtschreibprüfung

Die Rechtschreibprüfung ist standardmäßig aktiviert.

Dies gilt für einzelne Felder. Wenn Sie alle Felder ändern möchten, ändern Sie das Feld Blockly.FieldTextInput.prototype.spellcheck_-Property.

Texteingabevalidierung erstellen

Der Wert eines Texteingabefelds ist ein String, d. h., alle Validatoren müssen einen String akzeptieren und einen String, null oder undefined zurückgeben.

Hier ist ein Beispiel für eine Validierung, Zeichen aus dem String:

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