如果jsp el不为null,如何取消隐藏div?

问题描述 投票:0回答:2

除非满足某些条件,否则我想知道隐藏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>
css jsp bootstrap-4 el
2个回答
0
投票

关键是要实现,何时何地执行代码 - 服务器上的JSP,请求和呈现页面时(即在响应发送到浏览器之前)和浏览器中的Javascript,浏览器收到之后生成的响应。因此,JS中没有request变量,所以

if(null != request.getAttribute("loginError")){

没有意义。我建议如下:

<div id= "error" class="alert alert-danger" ${ empty loginError ? '' : 'hidden'} role="alert">

hidden属性不需要有值,如果它存在,元素将被隐藏 - 无论它的值是什么。)


0
投票

您需要将隐藏的值更改为false。无论如何,空字符串添加隐藏到元素的属性。因此,要更改html元素的隐藏状态,您应该使用布尔值。 qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.