У меня есть динамическая таблица, которая содержит несколько текстовых полей. Мне нужно, чтобы текстовое поле B имело максимум 6 входных чисел и выдавало ошибку, если входное значение меньше и не равно 6. Пожалуйста, помогите, я новичок в javascript
function addRow() {
var table = document.getElementById("bod");
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.insertCell(0).innerHTML = '<input type = "text" name = "A" size = "20" maxlength = "6" required/>';
row.insertCell(1).innerHTML = '<input type = "text" name = "B" size = "20" required/>';
row.insertCell(2).innerHTML = '<input type = "text" name = "C" size = "20" required/>';
}<input type = "button" id = "add" value = "Add" onclick = "Javascript:addRow()">
<table id = "bod">
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</table>


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Создайте input вручную и addEventListener к нему. Что-то вроде этого.
function addRow() {
var table = document.getElementById("bod");
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
row.insertCell(0).innerHTML = '<input type = "text" name = "A" size = "20" maxlength = "6" required/>';
var colB = row.insertCell(1);
var inp = document.createElement('input');
inp.type = 'text';
inp.name = 'B';
inp.size = 20;
inp.required = true;
colB.appendChild(inp);
inp.addEventListener('change', function() {
if (this.value.length !== 6) {
alert('wrong value');
this.focus();
}
});
row.insertCell(2).innerHTML = '<input type = "text" name = "C" size = "20" required/>';
}<input type = "button" id = "add" value = "Add" onclick = "addRow()">
<table id = "bod">
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</table>
Взгляните на этот пост (stackoverflow.com/a/10294291/10353987). В нем описывается, как вы можете использовать шаблон, если вам нужна более сложная проверка для вашего ввода.