टेक्स्ट इनपुट फ़ील्ड

टेक्स्ट इनपुट फ़ील्ड में, किसी स्ट्रिंग को वैल्यू के तौर पर और स्ट्रिंग को टेक्स्ट के तौर पर सेव किया जाता है. इसकी वैल्यू हमेशा एक मान्य स्ट्रिंग होती है, जबकि इसका टेक्स्ट, इसके एडिटर में डाली गई कोई भी स्ट्रिंग हो सकती है.

टेक्स्ट इनपुट फ़ील्ड

एडिटर खुले हुए टेक्स्ट इनपुट फ़ील्ड

छोटे किए गए ब्लॉक पर टेक्स्ट इनपुट फ़ील्ड

शॉर्ट वीडियो

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

टेक्स्ट इनपुट कंस्ट्रक्टर, एक वैकल्पिक वैल्यू और एक वैकल्पिक validator के तौर पर काम करता है. मान को किसी स्ट्रिंग पर कास्ट किया जाना चाहिए. अगर यह null या undefined है, तो खाली स्ट्रिंग का इस्तेमाल किया जाएगा.

JSON डेफ़िनिशन की मदद से, स्पेलचेक विकल्प को भी सेट किया जा सकता है.

सीरियलाइज़ेशन और एक्सएमएल

JSON

टेक्स्ट इनपुट फ़ील्ड के लिए JSON, ऐसा दिखता है:

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

जहां FIELDNAME एक टेक्स्ट इनपुट फ़ील्ड का रेफ़रंस देने वाली स्ट्रिंग है और फ़ील्ड पर लागू की जाने वाली वैल्यू है. वैल्यू, कंस्ट्रक्टर की वैल्यू के समान नियमों का पालन करती है.

XML

टेक्स्ट इनपुट फ़ील्ड के लिए एक्सएमएल ऐसा दिखता है:

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

जहां फ़ील्ड के name एट्रिब्यूट में, टेक्स्ट इनपुट फ़ील्ड का रेफ़रंस देने वाली स्ट्रिंग होती है, वहीं अंदरूनी टेक्स्ट वह वैल्यू होती है जिसे फ़ील्ड पर लागू किया जाना है. इनर टेक्स्ट वैल्यू, कंस्ट्रक्टर की वैल्यू के समान नियमों का पालन करती है.

पसंद के मुताबिक बनाएं

स्पेलचेक

setSpellcheck फ़ंक्शन का इस्तेमाल करके, यह सेट किया जा सकता है कि फ़ील्ड अपने इनपुट टेक्स्ट की स्पेलिंग चेक करे या नहीं.

वर्तनी जांच के साथ और उसके बिना, टेक्स्ट इनपुट फ़ील्ड

वर्तनी-जांच की सुविधा डिफ़ॉल्ट रूप से चालू रहती है.

यह बात हर फ़ील्ड पर लागू होती है. अगर आपको सभी फ़ील्ड में बदलाव करना है, तो Blockly.FieldTextInput.prototype.spellcheck_ प्रॉपर्टी बदलें.

टेक्स्ट इनपुट की पुष्टि करने वाला प्रोग्राम बनाना

टेक्स्ट इनपुट फ़ील्ड की वैल्यू एक स्ट्रिंग होती है. इसलिए, पुष्टि करने वाले सभी टूल को स्ट्रिंग स्वीकार करनी होगी और स्ट्रिंग, null या undefined देना होगा.

यहां पुष्टि करने वाले एक ऐसे प्रोग्राम का उदाहरण दिया गया है जो स्ट्रिंग से सभी 'a' वर्ण हटा देता है:

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