2011-10-26 39 views
0

我有一些代碼適用於我的IIS 5.1開發盒,但不適用於我們的IIS 6生產服務器或Firefox。我希望能找到一些適合我們的生產服務器和Firefox的代碼。Firefox/IE IIS 6不支持在Javascript/HTML中隱藏標籤

這裏發生的事情:

我有最初應顯示爲隱藏的標籤。我基本上使用這個標籤來隱藏整個行。

   <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和我們的督促服務器是標籤/行沒有按不會隱藏。我沒有錯誤;它只是不像我想要的那樣隱藏起來。

我不需要使用標籤來隱藏行......這只是我知道如何的唯一方法。所以,如果某件事情更能達到同樣的目標,我願意接受。謝謝!

回答

2

你錯過了(這裏 也==比較,單=分配

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

是它進入這個塊如果有的話,我會建議更換量變到質變的。顯示=「」。?;到。顯示=「無」

,你也可以只給你一個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> 
+0

仍然沒有工作,很遺憾。另外,使用「」應該使標籤可見,不是嗎?它不是要顯示「none」 - 空白字符串本質上與我認爲的「block」相同,並且與Firefox更兼容....除非我錯了嗎? – SeanFlynn

+0

哦,我以爲你有麻煩隱藏它,沒有顯示它!你使用的是什麼版本的Firefox? – Patricia

+0

看看我的編輯,小提琴,在Firefox中工作:) – Patricia