Firefox/IE IIS 6不支持在Javascript/HTML中隐藏标签

Firefox/IE IIS 6 Not Supporting Hiding Lables in Javascript/HTML

本文关键字:HTML 标签 Javascript 隐藏 不支持 IE IIS Firefox      更新时间:2023-09-26

我有一些代码可以在我的IIS 5.1开发盒上工作,但不能在我们的IIS 6生产服务器或Firefox中工作。我希望找到一些代码,将适应我们的生产服务器和Firefox。

情况如下:

我有一个标签,最初应该显示为隐藏。我基本上是用这个标签来隐藏整行。

             <label for="lbCloseDate" id="lbCloseDate" style="display:none">
          <tr>
            <td bordercolor="#f0f0e4" bgcolor="#f0f0e4"><h3>Close Date</h3></td>
          </tr>
          </label>

然后,我使用这个javascript来取消隐藏,基于一个组合框的值:

    function statusShowHide()
{
    var cboStatus = document.getElementById('cboStatus');
    var lbCloseDate = document.getElementById('lbCloseDate'); 
    if cboStatus = 'Closed') 
    {
        lbCloseDate.style.display = "";
    }
}

基本上,在Firefox和我们的prod服务器中发生的事情是标签/行没有隐藏。我没有出错;只是没有像我想的那样藏起来。

我不需要使用标签来隐藏行…这是我唯一知道的方法。所以,如果有更可取的东西可以实现同样的目标,我愿意接受。谢谢!

您缺少一个(在这里)还有==用于比较,single =用于分配。

if (cboStatus == 'Closed') 
    {
        lbCloseDate.style.display = "";
    }

它进入这个块了吗?如果是这样,我建议更改。display = ";To .display = "none"

你也可以给你的tr一个ID,用它来隐藏/显示行而不是标签。会更加语法正确。

编辑:

下面是一个工作示例:http://jsfiddle.net/2FDPg/

基本内容:

function showOrHideRow(){
    var theRow = document.getElementById('closeRow');
    var theDropDown = document.getElementById('ChangeMe');
    var theVal = theDropDown.options[theDropDown.selectedIndex].value;
    if(theVal == 'Closed'){
         theRow.style.display = 'none';   
    }
    else{
        theRow.style.display = 'block';
    }
}

和html:

<table>
    <tr id="closeRow">
        <td>Close Date:</td>  
    </tr>
    <tr>
        <td>another row</td>
    </tr>
</table>
<select id="ChangeMe" onChange="showOrHideRow()">
    <option value="">Change me</option>
    <option value="Closed">Hide It</option>
    <option value="Open">Don't Hide It</option>
</select>