在onClick事件发生之前计算所有if语句的Javascript函数

在onClick事件发生之前计算所有if语句的Javascript函数,javascript,html,jsp,Javascript,Html,Jsp,在深入讨论这个问题之前,请先看一下以下代码片段: Homepage1.jsp包含按钮和脚本: <div> <button id="admin" style="float: left;" onclick="getUserID(this.id)"><b>Admin</b></button> <button id = "chef" style="float: left;" onclick=

在深入讨论这个问题之前,请先看一下以下代码片段:

Homepage1.jsp包含按钮和脚本:

        <div>
        <button id="admin" style="float: left;" onclick="getUserID(this.id)"><b>Admin</b></button>
        <button id = "chef" style="float: left;" onclick="getUserID(this.id)"><b>Chef</b></button>
        <button id = "user" style="float: left;" onclick="getUserID(this.id)"><b>User</b></button>
<%Object userName = session.getAttribute("userID");%>

管理
厨师
使用者

函数getUserID(单击的\u id){
如果(单击\u id==“管理”){
}
else if(单击的_id==“厨师”){
}
else if(单击的_id==“用户”){
}
window.location=“/Homepage2.jsp”;
}

Homepage2.jsp包含:

        <div>
        <button id="admin" style="float: left;" onclick="getUserID(this.id)"><b>Admin</b></button>
        <button id = "chef" style="float: left;" onclick="getUserID(this.id)"><b>Chef</b></button>
        <button id = "user" style="float: left;" onclick="getUserID(this.id)"><b>User</b></button>
<%Object userName = session.getAttribute("userID");%>

我的问题是,无论我单击三个按钮(admin、chef或user)中的哪一个,下一个jsp文件(Homepage2.jsp)总是获取与“用户”相关的信息


调试完这段代码后,我注意到每个if语句都在函数getUserID(clicked_id)中求值,因此最后一个if语句覆盖了前面的if语句

您的JSP代码在页面进入浏览器之前在服务器上运行,因此它不能基于客户端JavaScript
if
语句有条件地运行。您需要了解加载网页不是双向操作。。。服务器向浏览器发送(已处理)页面-结束通信如果您想设置会话,您可能需要发送一个请求来执行该操作服务器是
java
,因此它可能是相关的@ajb@JaromandaX它可能运行在C++编写的操作系统上,这是否使C++相关?服务器代码不是问题的一部分。