Javascript BMI计算器初学者问:

Javascript BMI Calculator Beginners Q:

本文关键字:初学者 计算器 BMI Javascript      更新时间:2023-09-26

这里是初学者,我在这个网站上逗留了很长时间,它帮助了我很多次。我已经编码了几天,现在决定创建一个BMI计算器作为一个测试项目。计算器工作得很好,但是当添加返回false语句或试图在同一个按钮上完成两个功能时,我似乎遇到了问题。下面是我的代码:

<script language="JavaScript">
    <!--
    function BMIstuff() {
        BMIValidate(
            If(document.bmiForm.name.value.length <= 0) alert("please enter a name"); If(document.bmiForm.name.value = /^[a-zA-Z]+$/;) {
                return true;
            } else {
                aert("Please enter a name with valid characters")


                BMI Calculate(
                    if (document.bmiForm.weight.value.length < 1 || document.bmiForm.weight.value.length >= 4)
                        alert("enter a valid weight");
                    if (document.bmiForm.height.value.length < 1 || document.bmiForm.height.value.length >= 5)
                        alert("enter a valid height");
                    if (document.bmiForm.weight.value < 50 || document.bmiForm.weight.value >= 260)
                        alert("enter a valid weight value");
                    if (document.bmiForm.height.value < 1 || document.bmiForm.height.value >= 5)
                        alert("enter a valid height value");
                    return false;
                    var weight = document.bmiForm.weight.value
                    var height = document.bmiForm.height.value
                    if (weight > 0 && height > 0) {
                        var finalBmi = weight / (height * height)
                        document.bmiForm.bmi.value = finalBmi
                        if (finalBmi < 18.5) {
                            document.bmiForm.meaning.value = "You are underweight"
                        }
                        if (finalBmi > 18.5 && finalBmi <= 24.9) {
                            document.bmiForm.meaning.value = "You are in a healthy weight range"
                        }
                        if (finalBmi > 25 && finalBmi <= 29.9) {
                            document.bmiForm.meaning.value = "You are overweight"
                        }
                        if (finalBmi > 30) {
                            document.bmiForm.meaning.value = "You are obese"
                        }
                    } else {
                        alert("Please ensure that your height and weight are in a valid range, also, ensure that you are not using any invalid symbols or characters. ")
                    )
                }
            }
            //-->
</script>

<h1> BMI Calculator </h1>
<form name="bmiForm">
    Enter your Name:
    <input type="text" name="name" size="25">
    <br />Height(m):
    <input type="text" name="height" size="10">
    <br />Weight(kg):
    <input type="text" name="weight" size="10">
    <br />
    <input type="button" value="Calculate BMI" onClick="BMIstuff()">
    <br />Your BMI:
    <input type="text" name="bmi" size="10">
    <br />What does this mean?
    <input type="text" name="meaning" size="45">
    <br />
    <input type="reset" value="Reset" />
</form>

为大量的代码道歉,我不确定为了纠正我的错误,什么是不必要的。谢谢。

三个密码破解者:

  • If:不存在,使用小写的if
  • BMI Calculate(:函数名中不能有空格
  • aert:不存在,应该是alert
如果你在浏览器中打开Dev控制台,你会注意到所有这些错误。

还有,就像Andrew在评论中指出的,你漏掉了很多分号。虽然Javascript通常没有它们也可以工作,但这是一个非常糟糕的做法,你不想让它成为一种习惯。