Javascript体重指数计算器不';我不在IE工作

Javascript体重指数计算器不';我不在IE工作,javascript,html,Javascript,Html,我的BMI计算器可以在Chrome、Firefox和Opera中工作,但不能在IE中工作。当我查看IE调试器时,没有错误。问题是计算器没有显示结果。我知道我的问题与此链接类似 然而,我无法理解与我的问题相关的解决方案 下面是javascript: const form = document.querySelector('form[name=bmi]'); const onSubmit = event => { event.preventDefault(); let healthMes

我的BMI计算器可以在Chrome、Firefox和Opera中工作,但不能在IE中工作。当我查看IE调试器时,没有错误。问题是计算器没有显示结果。我知道我的问题与此链接类似 然而,我无法理解与我的问题相关的解决方案

下面是javascript:

const form = document.querySelector('form[name=bmi]');  
const onSubmit = event => {

event.preventDefault();
let healthMessage;

const result = form.querySelector('.result');
const health = form.querySelector('.health');

const weight = parseInt(form.querySelector('input[name=weight]').value, 10);
const height = parseInt(form.querySelector('input[name=height]').value, 10);    
const bmi = (weight / (height /100 * height / 100)).toFixed(1);

if (bmi < 18.5) {
  healthMessage = 'undervægtig';
} else if (bmi > 18.5 && bmi < 25) {
  healthMessage = 'normal vægtig';
} else if (bmi > 25) {
  healthMessage = 'overvægtig';
}
result.innerHTML = bmi;
health.innerHTML = healthMessage;
};  
form.addEventListener('submit', onSubmit, false); 
const form=document.querySelector('form[name=bmi');
const onSubmit=事件=>{
event.preventDefault();
让健康的信息;
const result=form.querySelector('.result');
const health=form.querySelector('.health');
const-weight=parseInt(form.querySelector('input[name=weight])。值,10);
const height=parseInt(form.querySelector('input[name=height])。值,10);
常数bmi=(体重/(身高/100*身高/100)).toFixed(1);
如果(体重指数<18.5){
healthMessage='Unwrowægtig';
}否则如果(bmi>18.5&&bmi<25){
healthMessage=‘正常vægtig’;
}如果体重指数>25,则为其他情况{
healthMessage='overvægtig';
}
result.innerHTML=bmi;
health.innerHTML=healthMessage;
};  
表格.附录列表(“提交”,提交,虚假);
以下是HTML:

<form name="bmi">
<h1>Mål dit BMI:</h1>
<label>
<input type="text" name="weight" id="weight" placeholder="Vægt (kg)">
<input type="text" name="height" id="height" placeholder="Højde (cm)">
<input type="submit" name="submit" id="submit" value="Udregn BMI">
</label>
<div class="calculation">
<div>
  Dit BMI er: <span class="result"></span>
</div>
<div>
  Dette betyder at du er: <span class="health"></span>
</div>
</div>
</form>

Mål dit体重指数:
Dit BMI er:
杜尔德特·贝泰德:

还有一个问题:

IE太旧,无法处理JavaScript ES2015版中的箭头函数。您可以从IE“F12开发工具”中看到这一点

考虑是否需要支持IE。该代码适用于Microsoft当前的浏览器Edge。如果您确实想支持IE,请将
function(){}

另外,您还可以交换:

parseInt(someString, 10)

使代码更易于阅读。您还可以为18.5数字和25数字添加常量,以指示它们的含义


。但是,除非您有额外的时间或金钱来支持过时的浏览器(作为一名学习者,您可能不支持),否则我将避免支持它们并保留您当前的代码。

developer tools console将向您显示代码中的错误-internet exploder肯定不理解箭头函数符号-至于let/const。。。不知道
当我查看IE调试器时,没有错误
您当时做得不对,有很多错误请确保您的IE版本支持“const”和“let”关键字。SCRIPT1002:语法错误下一行是_display(46,28)-它指向
const onSubmit=event=>中的
{
-太晚打开开发者工具控制台不会显示错误,请在Fiddle中单击run什么版本的IE?我可以用什么替换arrow=>呢?这将是一个很好的答案-除非IE11支持它-是arrow函数破坏了IE11:pI会在答案中保留
let/const
的内容,因为它们也会e旧版互联网爆炸器的一个问题versions@JaromandaX是的,很多东西在较旧的浏览器中不起作用。但是我添加了建议,完全放弃对它们的支持,因为提问者是初学者,可能没有人付钱给他们来支持过时的浏览器。你的fiddle解决方案在Chrome或Firefox中不起作用。谢谢@Y.K。parseInt()更改是不必要的,但它会使您的代码变得更好。如果答案有帮助,您能投票支持它吗?
Number(someString)