涉及表单和警报的简单JavaScript问题

时间:2011-03-09 00:51:48

标签: javascript forms xhtml alerts

我正在尝试创建一个接收用户名的表单,然后当按下提交按钮时,会显示一个警告,表示早上好,下午好或晚上好(取决于时间)。我觉得我在吐痰的距离,但我无法让它工作,这里是相关的代码片段:

<script type="text/javascript"> 
<!--
    function say_hello() {
        var date = new Date();
        var time = date.getHours();
        var name = document.forms["hello"]["name"].value;

            if (time < 12) {
                alert ("Good morning, "+name+"!");
            }

            else if (time > 12 && time < 18) {
                alert ("Good afternoon, "+name+"!")
            }

            else {
                alert ("Good evening, "+name+"!")
            }
        );
    }
// -->
</script>

和HTML:

    <form name="hello" action=""> 
    <p> 
    What is your name?
    <input type="text" name="name" size="10">
    </input> 
    </p> 
    <p> 
    <input type="button" name="Submit" onclick="say_hello()" value="Receive Personal Message!">
    </input>
    </p> 
</form>

谢谢! :d

4 个答案:

答案 0 :(得分:0)

您的javascript中存在语法错误。 “);”是不必要的。

function say_hello() {
    var date = new Date();
    var time = date.getHours();
    var name = document.forms["hello"]["name"].value;

    if (time < 12) {
        alert ("Good morning, "+name+"!");
    }

    else if (time > 12 && time < 18) {
        alert ("Good afternoon, "+name+"!");
    }

    else {
        alert ("Good evening, "+name+"!")
    }
}

答案 1 :(得分:0)

function say_hello() {
    var date = new Date();
    var time = date.getHours();
    var name = document.forms["hello"]["name"].value;

        if (time < 12) {
            alert ("Good morning, "+name+"!");
        }

        else if (time > 12 && time < 18) {
            alert ("Good afternoon, "+name+"!")
        }

        else {
            alert ("Good evening, "+name+"!")
        }
    //); //This causes a syntax error
}

答案 2 :(得分:0)

在您的函数中,在最后else {...}之后存在语法错误,有一个不必要的);

尝试删除它,它应该工作!

答案 3 :(得分:0)

修复所有语法错误,我建议你附上这样的事件:

document.forms["hello"]["Submit"].onclick=say_hello;

取代 onclick="..."

LIVE DEMO