0

入力から dijit ウィジェットを作成しています:

<input name="serviceName" type="text"/>
input = new ValidationTextBox({required: true}, query('[name=serviceName]')[0])

多くの入力があり、それらをバッチ処理して、別の関数に渡したいです。

問題は、ドキュメントで見つけることができないこと、ウィジェットから入力名を取得する方法 (Select、DateBox などでもかまいません。また、Firebug でそのプロパティを検査する要素を見つけることもできません)

function processInput(input) {
   var inputName = ???
}

私は試しましたがinput.nameinput.get('name'),未定義を返しています。

4

1 に答える 1

1

プログラムでウィジェットをインスタンス化する場合、通常、プロパティはコピーされません。これらのプロパティがコピーされるのは、宣言型マークアップを使用する場合のみです。これは、nameプロパティが元の入力ノードからコピーされていないため、実際には空であることを意味します。

を作成するときは、次の例のようにプロパティをValidationTextBox指定するだけです:name

var inputNode = query('[name=serviceName]')[0];
var input = new ValidationTextBox({
    required: true,
    name: inputNode.name
}, inputNode);

input.nameその後、 または のいずれかを使用して名前を取得できますinput.get('name')

JSFiddleの例も作成しました。

于 2013-10-11T10:13:35.130 に答える