鉴于 jsp el 不为空,如何取消隐藏 div?
How to unhide a div given that a jsp el is not null?
我想知道隐藏 div 的正确方法是什么,除非满足某些条件。我正在尝试添加一个包含登录错误的 div,并且只会在出现错误时出现。
<div id= "error" class="alert alert-danger" hidden="hidden" role="alert">
${loginError}
</div>
我尝试添加脚本,但没有成功。
<script type="text/javascript">
if(null != request.getAttribute("loginError")){
document.getElementById("error").hidden = "";
}
</script>
您需要将隐藏的值更改为 false。无论如何,空字符串添加隐藏到元素的属性。因此,要更改 html 元素的隐藏状态,您应该使用布尔值。
document.getElementById("error").hidden = false;
关键是要实现,where和when在服务器上执行了哪些代码-JSP,当请求和呈现页面(即 before 响应发送到浏览器),Javascript 在浏览器中,after 浏览器收到 已经生成的 响应。因此,JS中没有request
变量,所以
if(null != request.getAttribute("loginError")){
没有意义。我建议如下:
<div id= "error" class="alert alert-danger" ${ empty loginError ? '' : 'hidden'} role="alert">
(hidden
属性不需要有值,如果它存在,元素将被隐藏 - 不管它的值是多少。)
我想知道隐藏 div 的正确方法是什么,除非满足某些条件。我正在尝试添加一个包含登录错误的 div,并且只会在出现错误时出现。
<div id= "error" class="alert alert-danger" hidden="hidden" role="alert">
${loginError}
</div>
我尝试添加脚本,但没有成功。
<script type="text/javascript">
if(null != request.getAttribute("loginError")){
document.getElementById("error").hidden = "";
}
</script>
您需要将隐藏的值更改为 false。无论如何,空字符串添加隐藏到元素的属性。因此,要更改 html 元素的隐藏状态,您应该使用布尔值。
document.getElementById("error").hidden = false;
关键是要实现,where和when在服务器上执行了哪些代码-JSP,当请求和呈现页面(即 before 响应发送到浏览器),Javascript 在浏览器中,after 浏览器收到 已经生成的 响应。因此,JS中没有request
变量,所以
if(null != request.getAttribute("loginError")){
没有意义。我建议如下:
<div id= "error" class="alert alert-danger" ${ empty loginError ? '' : 'hidden'} role="alert">
(hidden
属性不需要有值,如果它存在,元素将被隐藏 - 不管它的值是多少。)