حقول إدخال النص

يخزن حقل إدخال النص سلسلة كقيمتها والسلسلة كنص لها. قيمتها دائمًا عبارة عن سلسلة صالحة، بينما يمكن أن يكون نصها أي سلسلة تم إدخالها في المحرر الخاص بها.

حقل إدخال النص

حقل إدخال النص مع فتح المحرِّر

حقل إدخال النص على القالب المصغَّر

إنشاء الفيديوهات

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 أيضًا بتعيين خيار التدقيق الإملائي.

التسلسل وXML

JSON

يبدو ملف JSON لحقل إدخال النص كما يلي:

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

حيث تكون FIELDNAME سلسلة تشير إلى حقل إدخال نص، والقيمة هي القيمة المطلوب تطبيقها على الحقل. تتبع القيمة نفس القواعد مثل قيمة الدالة الإنشائية.

XML

يبدو أنّ تنسيق XML الخاص بحقل إدخال النص هو:

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

تتضمّن السمة name الخاصة بالحقل سلسلة تشير إلى حقل إدخال نص، ويكون النص الداخلي هو القيمة المطلوب تطبيقها على الحقل. تتبع قيمة النص الداخلية نفس القواعد مثل قيمة الدالة الإنشائية.

التخصيص

التدقيق الإملائي

يمكن استخدام الدالة setSpellcheck لضبط ما إذا كان الحقل يجري التدقيق الإملائي لنص الإدخال أم لا.

حقول إدخال نصية بها تدقيق إملائي أو بدونها

تكون ميزة التدقيق الإملائي مفعّلة بشكل تلقائي.

وينطبق ذلك على الحقول الفردية. إذا أردت تعديل كل الحقول، عليك تغيير السمة Blockly.FieldTextInput.prototype.spellcheck_.

إنشاء مدقق إدخال النص

قيمة حقل الإدخال النصي هي سلسلة، لذا يجب أن تقبل أي أدوات تحقّق من صحة سلسلة بيانات وأن تعرض سلسلة أو null أو undefined.

في ما يلي مثال على أداة تحقق تزيل جميع أحرف 'a' من السلسلة:

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