如何使用javascript隐藏jsp文件中的元素

时间:2011-09-30 08:57:26

标签: javascript jsp jstl

<li><label>Email:</label> <input type='text' name='username'
                            id="forgot_username" /></li>
                        <li><label>&nbsp;</label> <input type="submit"
                            id="forgot_btn" value="Send Reminder" class="btn"></li>

我的jsp中有上面的文本框和按钮。以下条件,我想要的是当这种情况发生时,上面的文本框和按钮应该隐藏我该怎么做。

<c:if test="${param.message == 3}">
                        <span class="error"><font color="red"> Email does not match</font></span>
                    </c:if>

2 个答案:

答案 0 :(得分:1)

你应该在第一个代码周围放置div标签:

<div id="hide"> 
    <ol>
        <li>
            <label>Email:</label>
            <input type='text' name='username' id="forgot_username" />
        </li>
        <li>
            <label>&nbsp;</label>
            <input type="submit" id="forgot_btn" value="Send Reminder" class="btn">
        </li>
    </ol>
</div>

然后你可以像这样隐藏:

<c:if test="${param.message == 3}">

    <script>
        $('#hide').hide();
    </script>

    <span class="error"><font color="red"> Email does not match</font></span>
</c:if>

答案 1 :(得分:0)

为什么不能将这些<li>元素放在同一个构造中?

如果您不能将这些元素放在一起并且不想重复这些条件,您可以随时定义一个新变量:

<c:set var="condition" value="0">
<c:if test="${param.message == 3}">
    <c:set var="condition" value="1">
</c:if>

<c:if test="${condition == 1}">
                        <span class="error"><font color="red"> Email does not match</font></span>
                    </c:if>

....

<c:if test="${condition == 1}">
<li><label>Email:</label> <input type='text' name='username'
                            id="forgot_username" /></li>
                        <li><label>&nbsp;</label> <input type="submit"
                            id="forgot_btn" value="Send Reminder" class="btn"></li>
</c:if>

这样,即使客户端已禁用JS或任何类型的JS问题,这些<li>也将被隐藏。