[英].className not working on form validation
I am having an issue with the .className on both getWeight.length < 1 and getHeight.length < 1, its not adding the class name formValidation.我在 getWeight.length < 1 和 getHeight.length < 1 上都遇到了 .className 问题,它没有添加类名 formValidation。
Any ideas why it's not working?任何想法为什么它不起作用? I have been staring at the code for so long I can't seem to figure out what's going on!我一直盯着代码这么久我似乎无法弄清楚发生了什么!
Many thanks非常感谢
JS JS
function calculateBMI() {
let getWeight = document.getElementById('weight').value;
let getHeight = document.getElementById('height').value;
let getBMI = (getWeight / (getHeight*getHeight)).toFixed(2);
let displayBMI = document.getElementById('displaybmi');
if (getWeight.length < 1) {
//alert('Please enter your weight');
getWeight.className = 'formValidation';
}
else if (getHeight.length < 1) {
//alert('Please enter your height');
getHeight.className = 'formValidation';
}
else if(getBMI < 18.5) {
displayBMI.className = 'displaybmi green';
displayBMI.textContent = 'You\'re under weight! ' + getBMI;
}
else if (getBMI >= 18.5 && getBMI <= 25) {
displayBMI.className = 'displaybmi green';
displayBMI.textContent = 'You\'re normal weight! ' + getBMI;
}
else if (getBMI > 25 && getBMI <= 29.99) {
displayBMI.className = 'displaybmi yellow';
displayBMI.textContent = 'You\'re over weight! ' + getBMI;
}
else if (getBMI >= 30 && getBMI <= 34.99) {
displayBMI.className = 'displaybmi orange';
displayBMI.textContent = 'You\'re obese! ' + getBMI;
}
else {
displayBMI.className = 'displaybmi red';
displayBMI.textContent = 'You\'re very obese! ' + getBMI;
}
}
.displaybmi {
font-size: 16px;
padding: 20px;
margin-bottom:20px;
}
.red{
background:red;
}
.yellow {
background: yellow;
}
.green{
background:green;
}
.orange {
background:orange;
}
.formValidation {
border: 2px solid red;
}
You are trying to add classname to value of element (input, I suppose).您正在尝试将类名添加到元素的值(我想是输入)。
getWeight
and getHeight
are values, not DOM actual elements. getWeight
和getHeight
是值,而不是 DOM 实际元素。
Try:尝试:
let getWeight = document.getElementById('weight');
let getHeight = document.getElementById('height');
let getBMI = (getWeight.value / (getHeight.value*getHeight.value)).toFixed(2);
if (getWeight.value.length < 1) {
//alert('Please enter your weight');
getWeight.className = 'formValidation';
}
else if (getHeight.value.length < 1) {
//alert('Please enter your height');
getHeight.className = 'formValidation';
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.