gpt4 book ai didi

Javascript 代码适用于 Safari,但不适用于 Firefox。为什么?

转载 作者:行者123 更新时间:2023-11-28 00:04:49 24 4
gpt4 key购买 nike

此脚本在 Safari 中产生了预期的结果,但在 Firefox 中却没有。 (这是我测试过的仅有的两个浏览器。)

这是相关的 HTML:

<form name="inputForm">

Weight:<input type="number" name="weight"> (lbs) <br>
Height:<input type="number" name="height"> (inches) <br>
<hr>
<input type="button" name="process" value="Calculate" onclick="calcBMI(weight.value, height.value)">
<hr>
BMI: <input type="text" readonly name="bmiResult">

</form>

这里是整个 Javascript,它被放置在 <head>...</head> 中HTML 标签:

<script>
var BMIMULTI = 703;

function calcBMI(weight, height)
{
var bmi = (weight * BMIMULTI) / (height * height);
document.inputForm.bmiResult.value = bmi;
}
</script>

两个浏览器的控制台都没有显示错误。我没有为 CSS 或 JS 链接到的外部文件。

根据我自己的调试,我发现问题出在 height.value 上。在onclick="calcBMI(...)" . height.value 的值正在传递给 calcBMI用作null ,而 weight.value被适本地传入。

在 Safari 中,这两个值都传递到 calcBMI成功运行。

为什么会这样?而且,为什么它出现在 Firefox 而不是 Safari 中?
我是 javascript 的新手,感谢您的帮助。

最佳答案

input 元素(这是事件处理程序中的当前范围)在某些浏览器中也有一个 height 属性,这将阻止您访问该字段来自外部范围的名称。

获取字段作为表单的成员,而不是使用全局范围:

calcBMI(this.form.weight.value, this.form.height.value)

关于Javascript 代码适用于 Safari,但不适用于 Firefox。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19128933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com