1

奇妙なエラーが発生します。TextArea をインスタンス化しようとすると、 Uncaught TypeError: number is not a function が発生します。ただし、代わりに TextBox に変更すると、コードは正常に実行されます。コンストラクターに無効なものを渡しているとは思いません。コード内に TextArea が上書きされている場所はありません。else if ブロックでインスタンス化するまで、自分のコードでは使用しません。何か案は?

array.forEach(listOfFields, function(item) {
    if(item === "Recent Rain") {
        tr = domConstruct.create("tr", {}, "displayDataForm"),
        td = domConstruct.create("td", {}, tr),
        td1 = domConstruct.create("td", {}, tr),
         l = domConstruct.create("label", {
             innerHTML: 'Rain in Last 24 Hours?: ',
             'class': 'dataFieldLabel',
             'for': item
         }, td, 'first'),
         r = new DropDownSelect({
             'class': 'dataField',
             name: item,
             title: item,
             options: [
                        { label: "Yes", value: "Yes" },
                        { label: "No", value: "No", selected: true },
                      ],
             'data-fieldType': 'DropDownSelect'
         }).placeAt(td1, 'last');
    }
    else if(item === 'Water Color or Odor' || item === 'Aquatic Life Present' || item === 'Site Change') {
        tr = domConstruct.create("tr", {}, "displayDataForm"),
        td = domConstruct.create("td", {}, tr),
        td1 = domConstruct.create("td", {}, tr),
         l = domConstruct.create("label", {
             innerHTML: item + ': ',
             'class': 'dataFieldLabel',
             'for': item
         }, td, 'first'),
         r = new TextArea({
             'class': 'dataField',
             name: item,
             title: item,
             'data-fieldType': 'TextArea'
         }).placeAt(td1, 'last');
    }
    else {
     tr = domConstruct.create("tr", {}, "displayDataForm"),
        td = domConstruct.create("td", {}, tr),
        td1 = domConstruct.create("td", {}, tr),
         l = domConstruct.create("label", {
             innerHTML: item + ': ',
             'class': 'dataFieldLabel',
             'for': item
         }, td, 'first'),
         r = new TextBox({
             'class': 'dataField',
             name: item,
             title: item,
             'data-fieldType': 'TextBox'
         }).placeAt(td1, 'last');
    }
});

アップデート

依存関係の完全なリストは次のとおりです。

        require(["dojo/dom", "dojo/ready", "dojo/request", "dojo/dom-construct", "dojo/dom-attr", "dojo/_base/declare", "dojo/_base/array", "dijit/Dialog", "dijit/form/DateTextBox", "dijit/form/Form", "dijit/form/Button", "dijit/form/CheckBox", "dijit/form/TextBox", "dijit/form/TextArea", "dojox/form/DropDownSelect", "dojo/json", "dijit/registry", "dojo/query"],

                function(dom, ready, request, domConstruct, domAttr, declare, array, Dialog, DateTextBox, Form, Button, Checkbox, TextBox, TextArea, DropDownSelect, JSON, registry, query)

dijit/form/TextArea を使用しています

4

0 に答える 0