2010-06-08 2 views
0

после нескольких часов проверки документации, я отчаянно искал: В основном мне нужно заполнить TabContainer некоторыми текстовыми полями и некоторыми флажками. Все тезисы аккуратно расположены: ярлыки слева, поля справа.
Чтобы это сделать, я использую TableContainer, который я добавляю в TabContainer, создаю TextFields и добавляю их в TableContainer. Все отображается нормально. Но когда дело доходит до флажка, я не могу найти трюк, чтобы показать ярлык вообще. Если я: - добавить метку-атрибут заявления создания говорят:
вар text8 = новый dijit.form.CheckBox ({
ID: "zuschauer_" + я, значение: "zuschauer", этикетка: "Fritt" });
Firefox не приходит с "containerNode равна нулю" - ОшибкаDojo: Программная установка метки флажка для добавления на TableContainer

  • попробовать добавить тег: Ничего не отображается (нет ошибки, но увы: нет метки):
    вар text9 = dojo.create ('< этикетка >');
    dojo.attr (text9, "for", "zuschauer_" + i);
    dojo.attr (text9, "content", "fritt");

  • попытки добавить DIV или несколько еще на tablecontainer (отключенные наклейки): Firefox приходит ти: Ошибки: неперехваченное исключение: [Exception ... «Компонент возвращается код ошибки: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMHTMLDivElement. AppendChild] "nsresult: "0x80004003 (NS_ERROR_INVALID_POINTER)" место:" JS кадра :: ...

  • же для созданных TextNodes ...

Так как хак:
- Будет Я создаю метку для флажка p rogramatically (без шаблона html, я видел код вокруг, создавая флажок, но перед тем как «метка для» в html. Это не помогло бы, поскольку я не знаю, сколько флажков мне нужно во время разработки. Они должны быть полностью воспроизведены во время выполнения.
- Будет ли у меня эта простая прокладка программно, должно быть легко, это не ракета. Действительно ли мне нужно TableContainer, чтобы это сделать?

  • Могу ли я создать статический текст в TableContainer?

ответ

2

Я бы предложил создать строку HTML, установив ее как содержимое ContentPane. Если вам нужно создать форму программно, вы можете создать собственный виджет, который расширяет ContentPane и берет данные по мере их получения, а также генерирует правильный внутреннийHTML. Это «будет в конечном итоге проще, чем пытаться совместить это вместе с существующими виджетами.

2

В таких случаях вы можете использовать вход/виджет внутри анонимного тега LABEL (HTML). Вы можете поместить текст до или после ввода/виджета и, возможно, поместить его с помощью атрибутов style/dir. Это позволит немного повысить гибкость, поскольку вам не нужен ID во время разбора. Просто создайте ярлык и вставьте виджет формы. Это чистый HTML и должен поддерживаться с HTML 4.01.

http://www.w3.org/TR/html401/interact/forms.html#h-17.9

Смотрите также: Making checkbox and radio labels clickable

Смежные вопросы