1-й из всех, у вас нет элемента формы.
2-й, при использовании формы вы перезагрузите страницу при отправке, так что вам нужно вместо этого использовать кнопку или отключить поведение по умолчанию для отправкии перезагрузите страницу к значению атрибута действия.
2-й верен (но не совсем, потому что элементы поля ввода должны быть обернуты в элемент формы), но вы определяете константу как значение, которое вы извлекаете из события, поэтомуБудет загружаться при загрузке страницы, а не когда вам это нужно (когда событие всплывет).Нет смысла использовать константу, и вы должны получить значение, когда вам это нужно, поэтому, когда ввод заполнен, то есть в функции, используемой для второго параметра в
.addEventListener( 'click' , function(){/*there you go grab data if fields are corectly filled*/
Определите его при постоянном значении при создании страницы. Это означает, что значение будет пустым (или значением по умолчанию, но, похоже, его нет) и будет всегда одинаковым.Поэтому не используйте константу и получайте значение, когда оно должно быть:
, когда пользователь заполнил ввод правильными значениями.Еще один недостаток, который меня беспокоит, это то, что вы называете id ввода как список, или они предназначены для уникального значения ... это не подходит для рекомендации написания ясного и понятного сценария.
Более важно, я думал вес идругие входные данные являются числовыми значениями, но вы записываете ввод как текст.Тем не менее, в JS нет типизированного значения, которое можно было бы использовать в любом случае, но оно не помешает пользователю написать текст во вводе, и любое число будет рассматриваться как строка.
Вы можете легко изменить это, используя тип атрибута HTML5= 'число' и даже максимальные и минимальные требуемые значения, которые будут блокировать ввод реальной формы, если значения находятся в неправильном диапазоне.Это означает, что ваши входные значения могут быть легко установлены на несоответствующие значения, и программа не будет работать или будет отображать глупые ответы, например, установив вес (если это человек) выше возможного веса.
Конечно, это также необходимопроверить значения в функции вычисления в качестве теста if! = isNaN (valueToCheck), чтобы убедиться, что используются числа, а не неадекватные значения, такие как строка.Это недостаток языка, который не имеет строго типизированных значений, надеюсь, в этом есть и преимущества, такие как гибкий способ использования данных, но потребуется их проверка при использовании, чтобы убедиться, что вместо неправильных типов данных и несоответствующих данных используютсясовпадающие.