JavaScript работает в Chrome, IE и Safari, но не в Firefox - PullRequest
0 голосов
/ 29 марта 2011

Здесь впервые публикуется сообщение, поэтому я надеюсь, что я делаю это правильно, однако я искал здесь и в Google решение моей проблемы и не нашел его.

JavaScript изменяет style.displayHTML div с использованием onkeyup.Я не уверен, что это что-то, что не должно работать, но я не могу понять, почему оно отлично работает в IE и Chrome, но не в Firefox.

Вот JS:

function q8a() 
{
var q8a = document.getElementById('q8a_days');
var q8a_n = document.getElementById('q8a_n');
var q8arrow = document.getElementById('q8arrow');

if(!q8a_n.checked)
    {
 if(q8a.value >= 1 && q8a.value <= 7) {
    q8b.style.display = '';
    q8arrow.style.display = '';
    }
else
    {
    q8b.style.display = 'none';
    q8arrow.style.display = 'none';
    }
    }
    }

и HTML-код, который он меняет:

<tr > 
     <td colspan="4">
          <div id="q8a" >
               <p>8a. **Question** </p>
               <input id="q8a_days" name="q8a_days" type="text" maxlength="1" size="2"  onkeyup="q8a()" /> days   <br /> 
          </div> 
     </td> 
</tr> 
<tr > 
     <td> 
     </td> 
     <td> 
          <p> 
          <b>OR</b><br /> 
          </p> 
          <input id="q8a_n" name="q8a_n" type="checkbox" value="sadface" onclick="noshow8b()" />None 
     </td> 
     <td class="arrow" > 
          <div id="q8arrow" style="display:none"> 
                ------> 
          </div> 
     </td> 
     <td class="b" colspan="2"> 
          <div id="q8b" style="display:none"> 
               <p>8b. **Question** </p> 
               <p id="q8bwords"> 
               <input id="q8b_hours" name="q8b_hours" type="text" maxlength="1" size="1" /> hours <br /> 
               <input id="q8b_minutes" name="q8b_minutes" type="text" maxlength="2" size="1" /> minutes 
               </p> 
          </div> 
     </td> 
</tr> 

Так может ли кто-нибудь помочь мне заставить этот скрипт работать в Firefox?
Любая помощь будет принята с благодарностью.

Спасибо!

1 Ответ

1 голос
/ 29 марта 2011

Кажется, q8b не определено, поэтому добавьте следующий код в function q8a():

var q8b = document.getElementById('q8b');
...