Campi di immissione testo

Un campo di immissione di testo memorizza una stringa come valore e una stringa come testo. Il suo valore è sempre una stringa valida, mentre il testo può essere qualsiasi stringa inserita nell'editor.

Campo di immissione di testo

Un blocco con l'etichetta "input di testo:" e un campo di immissione di testo impostato su "text predefinito".

Campo di immissione di testo con l'editor aperto

Lo stesso blocco con il campo in modifica.

Campo di immissione di testo nel blocco compresso

Lo stesso blocco dopo essere stato compresso. È etichettata come "input text: default text" e ha un bordo a zig zag a destra per indicare che è compressa.

Creazione

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

Il costruttore dell'input di testo accetta un valore facoltativo e un convalidatore facoltativo. Il valore deve essere eseguito il casting in una stringa. Se è null o undefined, verrà utilizzata una stringa vuota.

La definizione JSON consente anche di impostare l'opzione controllo ortografico.

Serializzazione e XML

JSON

Il JSON per un campo di immissione di testo è il seguente:

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

dove FIELDNAME è una stringa che fa riferimento a un campo di immissione di testo e il valore è il valore da applicare al campo. Il valore segue le stesse regole del valore del costruttore.

XML

Il codice XML di un campo di immissione di testo è il seguente:

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

L'attributo name del campo contiene una stringa che fa riferimento a un campo di immissione di testo e il testo interno è il valore da applicare al campo. Il valore del testo interno segue le stesse regole del valore del costruttore.

Personalizzazione

Controllo ortografico

La funzione setSpellcheck può essere utilizzata per impostare se il campo deve o meno eseguire la correzione ortografica del testo inserito.

Campi di immissione di testo con e senza controllo ortografico

Un&#39;immagine GIF animata che mostra due blocchi con campi di immissione di testo. Nel primo blocco è attivo il controllo ortografico e le parole con errori ortografici sono sottolineate con una linea ondulata rossa. Nel
secondo blocco la correzione ortografica è disattivata e le parole con errori ortografici non sono
sottolineate.

Il controllo ortografico è attivo per impostazione predefinita.

Questo vale per i singoli campi. Se vuoi modificare tutti i campi, modifica la proprietàBlockly.FieldTextInput.prototype.spellcheck_.

Creazione di un validatore di input di testo

Il valore di un campo di immissione di testo è una stringa, pertanto tutti i validatori devono accettare una stringa e restituire una stringa, null o undefined.

Ecco un esempio di convalidatore che rimuove tutti i caratteri "a" dalla stringa:

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

Un&#39;immagine GIF animata che mostra la convalida di un campo di immissione di testo. Quando l&#39;utente digita &quot;bbbaaa&quot; e fa clic altrove, il campo diventa &quot;bbb&quot;.