Он работает с querySelector, но у меня есть 3 поля ввода чисел. Работает только на первом. Второй и третий не работают.
const elX = document.querySelector('.sayim');
const elY = document.querySelector('.tm-qty');
function limit() {
elY.value=Math.min(Math.round(elX.value),elY.value);
}
elX.onchange=limit;
elY.onchange=limit;
Первый HTML
<input class = "sayim" type = "number" value = "0" step = "1" min = "0" max = "999" name = "wc_bookings_field_persons_2855" id = "wc_bookings_field_persons_2855">
И второй HTML
<input class = "tm-qty" type = "number" step = "any" min = "0" name = "tmcp_checkbox_0_1_quantity" value = "0" title = "Qty" size = "4">
Вы не показали нам свой нерабочий код, но я предполагаю, что проблема в том, что getElementById возвращает единственный элемент, тогда как getElementsByClassName возвращает коллекцию, которую вам нужно просмотреть или получить доступ по индексу.



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


Класс непонятно. Чтобы получить первый с именем класса, используйте [0]
const elX = document.querySelector('.sayim')[0];
const elY = document.querySelector('.tm-qty')[0];
function limit() {
elY.value=Math.min(Math.round(elX.value),elY.value);
}
elX.onchange=limit;
elY.onchange=limit;
У меня есть 3 поля ввода, он работает с первым полем ввода. Второй и третий не работают. (Если я добавлю [0], консольная ошибка: невозможно установить свойство onchange на undefined.) Спасибо за ответ.
getElementsByClassName is not workingЧто из того, что вы пробовали, не работает? Что за HTML?