2011-03-29 197 views
0

第一次發佈在這裏,所以我希望我能正確地做到這一點,但是我已經在這裏搜索和谷歌解決我的問題,並沒有找到它。JavaScript適用於Chrome瀏覽器,IE瀏覽器和Safari瀏覽器,但不適用於Firefox

JavaScript正在使用onkeyup更改HTML div的style.display。我不確定這是不是應該工作,但我似乎無法弄清楚爲什麼它在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這個腳本的工作?
任何幫助將不勝感激。

謝謝!

+0

什麼Firefox的版本? – 2011-03-29 16:35:21

+0

在上面的第9行和第14行中,您引用了'q8b',但您尚未定義任何此類對象。這可能是你的問題的一個原因。 – 2011-03-29 16:37:12

+0

你的腳本在什麼時候失敗?您還應該從輸入框中解析任何預期的整數值,以便在比較中沒有任何問題。 – scrappedcola 2011-03-29 16:37:45

回答

1

看來q8b是不確定的,所以添加以下代碼在function q8a()

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

非常感謝您的幫助,完美的工作! – will74 2011-03-29 19:47:44

相關問題