DOM new node размещение
Привет js'ерам!
Мне очень интересно решение следующей задачи: Допустим у нас существует какая-то форма с известным id. К примеру такая: <div id="overlay"> <div> <form id = 'forma' method=" " action=" "> <input type='file'/> <input id= 'ok'type='button' value='OK'/> </form> </div> </div> Нужно ее динамически заполнить различными элементами(button, radio, text,etc.) Для заполнения я воспользовался следующим: var input = document.createElement("input"); input.setAttribute("type", "button"); input.setAttribute("value", "wow!"); forma.appendChild(input); Но таким способом кнопка добавляется "в конец", а необходимо, чтобы она добавлялась в определенной позиции на форму, например на расстоянии 30px от нижней границы формы. Я пробовал input.style.position = 'inherit'; input.style.bottom = '20px'; Но результат меня не обрадовал. Буду рад опробовать ваши идеи. P.S.: может быть ошибся темой.. вроде бы вопрос интерфейса, но и DOM тут замешан. |
так это вопрос по верстке. Попробуй либо margin-bottom для кнопки, либо padding-bottom для формы, без всяких position, bottom
и что значит динамически заполнить? Сразу после загрузки страницы? Тогда на сервере это делать надо |
динамически.. да, после загрузки, в зависимости от каких-то событий удаляем из формы элементы и заполняем её неким количеством новых (разных по типу) элементов, возможно на самой форме тоже будут кнопки для создания текстовых полей и проч.
Все что вы тут наговорили для меня малоинформативно.. если на padding-bottom я еще могу построить ассоциацию CSS. (слабо представляю решение, но попробую), то о серверной стороне я вообще пока ничего не знаю. Я думаю, в моем случае добавление/удаление элементов через DOM - это 100% клиент. Но я еще нуб и чаще знаю "как проще", а не как "надо". Что там с сервером? |
значит не на сервере
|
Попробовал менять:
-padding у формы в css -input.style-margin-left = '10px' input.setAttribute('style','margin-left:20px; margin-top:10px') Последнее помогло размещать элементы относительно друг друга, но все-таки позиционирование относительно границ формы было бы понятней и проще, спасибо. |
как же проще, если до сих пор не получилось? Не знаю, что там за форма, но отступы между элементами логичнее регулировать с помощью отступов
setAttribute редко используется, обычно input.style.marginLeft = '20px'... |
Тогда уж лучше
input.style.cssText="margin-left:20px; margin-top:10px" |
Часовой пояс GMT +3, время: 00:27. |