Как перебрать элементы формы / поля с помощью Dojo - PullRequest
0 голосов
/ 17 июля 2010

Кто-нибудь знает, как можно было бы пройтись по всем элементам формы, используя Dojo? (сама форма была создана через ZendFW Zend_Dojo_Form)

То, что я пытаюсь сделать, - это просмотреть все поля / входные данные в форме и, если возможно, изменить их значение id. Однако, даже если невозможно изменить идентификаторы полей, я все равно хотел бы знать, как проходить по элементам формы и получать доступ к их свойствам / значениям.

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 июля 2010

Zend добавляет переменную Dijits, отображаемую на странице, называемую «zendDijits».Итерируйте это, получая исходный элемент по идентификатору (это первый элемент в массиве), затем с помощью dojo установите идентификатор с помощью:

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

Никогда раньше этого не делал, но это должно работать

1 голос
/ 17 июля 2010

Поскольку элементы являются объектами, это легко:

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

$ form - это, очевидно, ваш объект формы из вашего класса. То есть:

$form = new My_Form_Class;

Как я уже сказал, это объект, поэтому свойства могут быть легко изменены. var_dump элемент, чтобы увидеть, что вы можете изменить, если вы не уверены

...