在HTML中隐藏和显示范围

时间:2012-04-27 15:00:14

标签: javascript jsp html

我有一个JSP页面,我有一些input submit按钮。现在基于我从AJAX请求获得的一些值,我想控制display and hiding of these input buttons。所以我为每个输入创建了spans。并且基于从AJAX请求收到的变量值,我操纵那里的显示属性。但我没有得到正确的结果。

这是我的代码:

<td style="width: 600px"><span id="startspan"><input name="start" value="startActivity" type="submit" id="startbuttonid"></span></td>
       <td style="width: 600px"><span id="holdspan"><input name="start" value="holdActivity" type="submit" id="holdbuttonid"></span></td>
       <td style="width: 600px"><span id="cancelspan"><input name="start" value="cancelActivity" type="submit" id="cancelbuttonid"></span></td>
       <td style="width: 600px"><span id="closespan"><input name="start" value="closeActivity" type="submit" id="closebuttonid"></span></td>

我正在编写用于显示或隐藏它们的代码的java script代码是::

if(temp1[15]=="InProcess"){
        document.getElementById('startspan').style.display='none';
        document.getElementById('holdspan').style.display = 'block';
        document.getElementById('cancelspan').style.display = 'block';
        document.getElementById('closespan').style.display = 'block';
    }
    if(temp1[15]=="New"){
        document.getElementById('startspan').style.display='block';
        document.getElementById('holdspan').style.display = 'none';
        document.getElementById('cancelspan').style.display = 'block';
        document.getElementById('closespan').style.display = 'none';
    }

这里基于变量temp1[15]值,我收到的很好。我想显示或隐藏那些输入提交按钮。我正在以正确的方式做,如定义跨度或需要一些修正。基本上所有这些输入按钮都在dialog box <div>内部,只有在触发了一个函数时才会打开,我在其中编写了我的隐藏或显示范围代码(上面写着)。需要帮忙。谢谢。

2 个答案:

答案 0 :(得分:2)

CSS中的display属性还确定它是作为块(DIV,P等),还是内联元素(span,b等),以及它的可见性。

对于你的跨度你想要这样做:

document.getElementById('span').style.display = 'inline';

如果是DIV则使用block,如果是IMG,则使用inline-block

答案 1 :(得分:1)

由于它在小提琴中而不是在主代码中工作,我怀疑在加载DOM之前可能存在与代码执行相关的问题(或者生成dialog box <div>)。你提到你正在使用AJAX。确保显示或隐藏按钮的代码位于AJAX成功回调中。