我试图使一个非常简单的欢迎页面在我的网站,我想问候用户与“早上好....",取名字是不是一件事,但我的javascript部分是不工作,或者我不能叫出来,所以这里是我的代码:
<body style="background-color:rgb(255, 255, 255)">
<h3 style="color: green">
<%=ServletUtility.getSuccessMessage(request)%>
</h3>
<br>
<h3 class="greeting" id="greeting">
"greet()"
</h3>
<script>
function greet(){
var date1=new Date();
var hour=date1.getHours();
alert(hour);
var header = document.getElementById("greeting");
if(hour>0 && hour <=12){
header.innerHTML="Good Morning"+" "+ <%=session.getAttribute("user")%>;
}
else if (hour >12 && hour <= 18){
header.innerHTML="Good Afternoon" + " " +<%=session.getAttribute("user")%>;
}else if (hour >18 && hour <=22){
header.innerHTML="Good Evening"+" "+ <%=session.getAttribute("user")%>;
}else{
header.innerHTML="Good Night"+" "+ <%=session.getAttribute("user")%>;
}
}
</script>
</body>
有谁能帮助我吗?,我是javascript新手
2条答案
按热度按时间9fkzdhlc1#
Javascript函数只能在
<script></script>
标签中执行。您的标题:
因此,将不执行greet函数,而是显示“greet()"。
您可以通过调用script标记内的函数来解决此问题,如下所示:
您也可以从
<h3>
标签移除'greet()'。请注意,我已经将您的
"<%=session.getAttribute("user")%>"
放在引号之间。<%=session.getAttribute("user")%>
是服务器生成的。这意味着它将把它的内容(例如“John”)作为原始文本放置。如果引号不在那里,您将得到:这将引发引用错误:John被视为未初始化的变量。
11dmarpk2#
我从来没有使用过JSP,但是我认为
<%=
是用来回显字符串的,所以我会使用它在函数Greet
之外生成一个javascript变量,并将该变量作为参数提供给函数。该函数应该位于脚本中,或者作为内联事件处理程序,例如onclick=Greet()
,但在这里不适用。第一个