2017-01-06 2 views
0

У меня есть эти поля.Как разместить добавленные элементы в DOM по одному в строке

enter image description here

При нажатии на кнопку «Добавить», я пустошь, как сделать добавить новый InputBox под другой.

Код:

var newWaypoint = document.createElement("INPUT"); 
newWaypoint.setAttribute("type", "text"); 
newWaypoint.setAttribute("class", "waypoints-field"); 
newWaypoint.setAttribute("id", "waypoint"+i); 
document.getElementById("addressbox").appendChild(newWaypoint); 
i++; 

В первый раз, он отлично работает, но после того, как следующий результат щелчка является:

enter image description here

Как я могу держать каждый вход на отдельной строке?

+0

просто введите 'input' в' display: block' в css –

ответ

1

Вы можете попробовать:

newWaypoint.style.display = 'block'; 

Таким образом, вы добавить стиль программно через код, а не его сцепления с внешним файлом CSS.

+0

Спасибо, это работает. Теперь у меня другая проблема. Я хотел бы добавить кнопку для каждого добавленного ввода. пример: [link] (https://s23.postimg.org/b7s9mi5jv/2017_01_06_165338.png) –

+0

Ну, вы просто создадите новый элемент кнопки и добавите его после ввода. Возможно, вам лучше использовать CSS для стилизации, если вы хотите, чтобы этот пример выглядел из примера. –

0

Пожалуйста, попробуйте следующее: -

Добавляет новую строку перед каждым текстовым полем.

var newWaypoint = document.createElement("INPUT"); 
newWaypoint.setAttribute("type", "text"); 
newWaypoint.setAttribute("class", "waypoints-field"); 
newWaypoint.setAttribute("id", "waypoint"+i); 
document.getElementById("addressbox").appendChild("br"); 
document.getElementById("addressbox").appendChild(newWaypoint); 
i++; 
+0

Это не оптимальное решение, –

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