Firefox / IE IIS 6 не поддерживает скрытие ярлыков в Javascript / HTML - PullRequest
0 голосов
/ 26 октября 2011

У меня есть код, который работает на моем устройстве разработки 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, заключается в том, что метка / строка не скрывается. У меня нет ошибки; это просто не скрывается, как я хочу.

Мне не нужно использовать метку, чтобы скрыть строку ... это единственный способ, которым я знал, как это сделать. Так что, если что-то более предпочтительное и соответствует той же цели, я открыт для этого. Спасибо!

1 Ответ

2 голосов
/ 27 октября 2011

ваш пропавший (здесь также == для сравнения, один = для назначения.

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

это входит в этот блок? если это так, я бы рекомендовал изменить .display = ""; to .display = "none"

Вы также можете просто указать свой идентификатор и использовать его для скрытия / отображения строки вместо метки. будет более синтаксически правильным.

EDIT:

Вот скрипка с рабочим примером: 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>
...