简单的JavaScript警报不会显示

时间:2014-04-13 21:11:52

标签: javascript html5

除了我的计算功能之外,每个接缝都能正常工作,警报剂量不会显示。我似乎无法理解为什么。 如果我删除函数中的所有代码,除了第一个var和chat alert to alert(fname);它会工作。但是当我添加任何其他变量时

<pre> <code>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
            <title>***********</title>


        <script type="text/javascript">



        function calculate(){

        var fname = document.getElementById("fname").value;
        var lname = document.getElementById("lname").value;
        var cyear = 2014;
        var yob = document.getElementById("yob").value;

        alert(fname+" "+lname+", this year you will be "
+(cyear - Number(yob)) + "years old!");

        }

        </script>   

        <style type="text/css"> 

        form {background-color:#B18CE8;
              width:500px;
              margin-top: 50px;
              margin-left: auto;
              margin-right:auto;
              font-family: Arial, sans-serif; padding: 20px;
              box-shadow:10px 10px #333333;
                    /*h-shadow(r) v-shadow(r) blur(o) spread(o) color(o) inset(o)*/
                    /*(r)means required attribute, (o) means optional attribute*/
            }
        fieldset {  border: none; border-radius:10%; background-color:#ffff19}
        fieldset legend {padding:5px; border-radius: 50%; background-color:#0099ff;}            

        .labelWidth100 {float:left; display:block; width:100px; clear:left;}            

        </style>

    </head> 
        <body onload="fname.focus();">
            <form>



                <fieldset style="width:450px"><legend>Name</legend>
                    <label for="fname" class="labelWidth100">First name:</label>
                        <input type="text" name="fname" id="fname"><br><br>
                    <label for="lname" class="labelWidth100">Last name:</label>
                        <input type="text" name="lname" id="lname"><br><br>
                    <label for="yob" class="labelWidth100">Year of Birth:</label>
                        <input type="text" name="yob" id="yob"><br>
                </fieldset><br>


                <button type="button" onclick="calculate();">Calculate</button>

            </form>
            <br>

            <footer style="border:2px solid black; margin-left:0px; text-align:left;">
            <script type="text/javascript">
                document.write("This page was last modified: " + document.lastModified);
            </script>
            </footer><!--close footer-->


    </body>
</html> 

<pre> <code>

4 个答案:

答案 0 :(得分:1)

document.getElementById("lname").value;

没有id“lname”...但是有“Lname”。 Javascript正在停止此错误,因此您的代码不会被执行。

答案 1 :(得分:1)

最后有一个缺少的括号:

alert(
    fname
    +" "
    +lname
    +", this year you will be "
    +(cyear - Number(yob))
    + "years old!"
); /* This closing parenthesis was missing!! */

答案 2 :(得分:0)

因为您的姓氏ID是&#34; Lname&#34; ,而在javascript中,您使用的是&#34; lname&#34; ,而不是&#39 ; t存在..

答案 3 :(得分:0)

  1. 你需要修复警报功能,你错过了关闭 功能调用。
  2. 姓氏选择器中使用的ID错误。
  3. PD:请学习如何使用javascript控制台。我没有发布代码,因为我认为即使我回答你的问题你也需要弄清楚如何修复它。