Поместите два новых поля, которые вы добавляете, в родительский контейнер div
и просто добавьте div
вместо двух span
s.
Кроме того, если вы никуда не отправляете данные формы , вам не нужен элемент form
, и вам не нужно устанавливать name
для полей формы (хотя каждое из них должно иметь другое имя, когда вы его используете). Кроме того, если вы собираетесь использовать h4
, он должен быть вложен в элемент h3
. Заголовки не используются для того, как они заставляют текст выглядеть - они semanti c (как и все HTML).
И вы можете просто настроить новый inputs
, используя свойства DOM и методы вместо generi c .setAttribute()
.
См. дополнительные встроенные комментарии.
// Do all your event binding in JavaScript, not HTML
document.querySelector("input.btn.add").addEventListener("click", add);
document.querySelector("input.btn.calc").addEventListener("click", display);
// Get DOM references you'll use over and over just once:
let select = document.getElementById("primarySelect");
let main = document.querySelector("div.main");
function add(){
// Create a wrapper for the two new input fields
var wrapper = document.createElement("div");
// Create the two new input fields and configure them:
var elementY = document.createElement("input");
elementY.type = "text";
elementY.placeholder = "Enter Y coordinate";
elementY.classList.add("smallbox");
var elementX = document.createElement("input");
elementX.type ="text";
elementX.placeholder = "Enter X coordinate";
elementX.classList.add("smallbox");
// Append the elements into the wrapper
wrapper.appendChild(elementY);
wrapper.appendChild(elementX);
// Append the wrapper to the document
main.appendChild(wrapper);
}
function display(){
}
.center { text-align:center; }
.hidden { display:none; }
.btn { margin:1em; }
<h1>Land Area</h1>
<select id="primarySelect" value="text" class="hidden"></select>
<div class="main center"></div>
<p class="center">
<input type="button" value="Add" class="btn add"><br>
<input type="button" value="Calculate" class="btn calc">
</p>