В форме, которую я делаю, есть раздел, в котором пользователям необходимо указать количество людей в их семье. После того, как они предоставят это, форма генерирует достаточно полей ввода, чтобы пользователь мог ввести информацию для каждого члена семьи.
У меня проблемы с тем, что ни один из атрибутов, которые я пытаюсь применить к элементу ввода, на самом деле не работает.
function addHouseMembers(that){
var family = document.getElementById("family-input-container");
while(family.hasChildNodes()){
family.removeChild(family.lastChild);
}
for(var i = 1; i < that.value; i++){
family.appendChild(document.createTextNode("Family Member " + (i+1)));
family.appendChild(document.createElement("br"));
//name
family.appendChild(document.createTextNode("Name: " ));
var input = document.createElement("input");
input.type = "text";
input.name = "member" + i + "_name";
input.pattern = "/^[a-zA-Z ]*$/";
input.required = true;
family.appendChild(input);
family.appendChild(document.createElement("br"));
}
}
Параметр that
относится к вводу, в котором пользователь вводит количество людей в своей семье.
А вот соответствующий HTML:
<form>
<div class="form-group">
<label class="col-lg-3 control-label">What is the total amount of people living in your household?</label>
<div class="col-lg-3 inputGroupContainer">
<div class = "input-group">
<input type="text" class="form-control" name="household-size" required onchange="addHouseMembers(this);"/>
</div>
</div>
</div>
<div class="form-group", id="family-info">
<label class="col-lg-12">Information for other Family Members</label>
<div class="col-lg-3 inputGroupContainer">
<div class = "input-group" id = "family-input-container" required>
</div>
</div>
</div>
</form>
Элемент отображается как должен, и отправляется с формой, когда пользователь нажимает кнопку отправки, но шаблон регулярного выражения и обязательные атрибуты не применяются.