Como fazer um loop através de elementos / campos de formulário com Dojo - javascript, zend-framework, dojo, dijit.form

Alguém sabe como é possível percorrer todos os elementos em um formulário usando o Dojo? (o formulário em si foi criado através do ZendFW Zend_Dojo_Form)

O que eu estou tentando fazer é passar por todo ocampos / entradas no formulário e, se possível, alterar seu valor id. No entanto, mesmo que não seja possível alterar os ID's dos campos, ainda adoraria saber como percorrer os elementos do formulário e acessar suas propriedades / valores.

Obrigado!

Respostas:

1 para resposta № 1

Zend adiciona uma variável de Dijits renderizada na página chamada "zendDijits". Iterar através disso, obtendo o elemento original por id (é o primeiro item da matriz), então usando dojo, defina o id usando:

for(var i in zendDijits) {
var theid = zendDijits[i]["id"];
dojo.byId(theid).id = "new";
}

Nunca fiz isso antes, mas isso deve funcionar


1 para resposta № 2

Como elementos são objetos, é fácil:

foreach($form->getElements() as $element) {
$element->id = "new";
}

$ form é obviamente seu objeto de formulário de sua classe. Ou seja:

$form = new My_Form_Class;

Como eu disse, é um objeto para que as propriedades possam ser alteradas facilmente. Var_dump um elemento para ver o que você pode mudar se não tiver certeza


Cardápio