Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
涉及表单和警报的简单JavaScript问题_Javascript_Forms_Xhtml_Alerts - Fatal编程技术网

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

涉及表单和警报的简单JavaScript问题,javascript,forms,xhtml,alerts,Javascript,Forms,Xhtml,Alerts,我正在尝试制作一个包含用户名的表单,当按下submit按钮时,会显示一个警告,说早上好、下午好或晚上好(取决于时间)。我觉得我离这很遥远,但我就是无法让它工作,以下是相关的代码片段: <script type="text/javascript"> <!-- function say_hello() { var date = new Date(); var time = date.getHours(); var name

我正在尝试制作一个包含用户名的表单,当按下submit按钮时,会显示一个警告,说早上好、下午好或晚上好(取决于时间)。我觉得我离这很遥远,但我就是无法让它工作,以下是相关的代码片段:

<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

您的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+"!")
    }
}
函数say_hello(){ 变量日期=新日期(); var time=date.getHours(); var name=document.forms[“hello”][“name”].value; 如果(时间<12){ 警报(“早上好,“+name+”!”); } 否则如果(时间>12和时间<18){ 提醒(“下午好,“+name+”!”); } 否则{ 提醒(“晚上好,“+name+”!”) } }
函数say_hello(){
变量日期=新日期();
var time=date.getHours();
var name=document.forms[“hello”][“name”].value;
如果(时间<12){
警报(“早上好,“+name+”!”);
}
否则如果(时间>12和时间<18){
警报(“下午好,“+name+”!”)
}
否则{
提醒(“晚上好,“+name+”!”)
}
//);//这会导致语法错误
}

在您的函数中,在最后一个
后面有一个语法错误,否则{…}
,有一个不必要的


尝试删除它,它应该工作

修复所有语法错误,我建议您将事件附加如下:

document.forms["hello"]["Submit"].onclick=say_hello;
而不是
onclick=“…”


您必须
event.preventDefault()
这样表单才不会真正被提交。还有,什么不起作用?当我按下按钮时,什么也没发生。谢谢。现在看起来很明显!按第一次的顺序勾选你的。希望这一切都好:)
document.forms["hello"]["Submit"].onclick=say_hello;