Javascript BMI计算器初学者问:

时间:2014-05-27 03:11:14

标签: javascript html css

初学者javascripter在这里,我非常潜伏着这个网站,它帮助了我很多次。 我已经编写了几天,并决定创建一个BMI计算器作为测试项目。 计算器工作正常,但是当添加return 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>

对于大量代码,道歉并不确定为了纠正错误而没有必要。 谢谢你。

1 个答案:

答案 0 :(得分:0)

三个代码破坏者:

  • If:不存在,请使用小写if
  • BMI Calculate(:函数名称中没有空格
  • aert:不存在,应为alert

如果您在浏览器中打开了Dev控制台,则会注意到所有这些错误。

另外,就像安德鲁在评论中指出的那样,你错过了很多分号。虽然Javascript通常可以在没有它们的情况下工作,但这是一个非常糟糕的做法而且你不想让它成为习惯。