我正在嘗試在我的網站上創建一個非常簡單的歡迎頁面,我想用“早上好....它出來了,所以這是我的代碼:
<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 新手
uj5u.com熱心網友回復:
Javascript 函式只能在<script></script>標簽中執行。
你的標題:
<h3 class="greeting" id="greeting">
"greet()"
</h3>
因此不會執行 greet 函式,而是顯示“greet()”。
您可以通過呼叫腳本標簽內的函式來解決此問題,如下所示:
<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")%>";
}
}
//add this line
greet();
</script>
您還可以從<h3>標簽中洗掉“greet()”。
請注意,我已將您放在"<%=session.getAttribute("user")%>"引號之間。
<%=session.getAttribute("user")%>是服務器生成的。這意味著它將其內容(例如“John”)作為原始文本放置。如果引號不存在,你會得到:
header.innerHTML="Good Night" " " john;
這會引發參考錯誤: john 被視為未初始化的變數。
uj5u.com熱心網友回復:
我從未使用過 JSP,但我想它<%=是用來回顯字串的,所以考慮到這一點,我會使用它在函式外部生成一個 javascript 變數Greet并將該變數作為函式的引數提供。您嘗試呼叫Greet函式的方法不正確 - 該函式應該在腳本中或作為行內事件處理程式,例如onclick=Greet()但這在此處不適用。
const username='<%=session.getAttribute("user")%>';
const Greet=( user )=>{
let now=new Date();
let hour=now.getHours();
let msg=`Good night ${user}`;
if( hour > 0 && hour < 12 )msg=`Good morning ${user}`;
else if( hour > 12 && hour < 17 )msg=`Good afternoon ${user}`;
else if( hour > 17 && hour < 22 )msg=`Good evening ${user}`;
document.querySelector('h3.greeting').textContent=msg;
};
Greet( username );
<h3 class="greeting" id="greeting"></h3>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504196.html
標籤:javascript html jsp
下一篇:如何使用JSTL對陣列進行排序?
