2014-10-30 166 views
0

我是編程新手,我在JavaScript中嘗試了一些東西,並且在Chrome中運行良好。但它無法在IE,Firefox,Safari和Opera中運行。我的代碼有什麼問題嗎?JavaScript代碼只適用於Chrome,但不適用於Firefox,IE,Opera和Safari

function hp(form) { 
    var count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0, count6 = 0, count7 = 0, count8 = 0, count9 = 0, count10 = 0; 
    for (var i = 0; i < 3; i++) { 
     if (form.q1[i].checked == true) { 
      count1++; 
     } 
    } 
    if (count1 !== 1) { 
     alert("Please Answer 1st Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q2[i].checked == true) { 
      count2++; 
     } 
    } 
    if (count2 !== 1) { 
     alert("Please Answer 2nd Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q3[i].checked == true) { 
      count3++; 
     } 
    } 
    if (count3 !== 1) { 
     alert("Please Answer 3rd Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q4[i].checked == true) { 
      count4++; 
     } 
    } 
    if (count4 !== 1) { 
     alert("Please Answer 4th Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q5[i].checked == true) { 
      count5++; 
     } 
    } 
    if (count5 !== 1) { 
     alert("Please Answer 5th Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q6[i].checked == true) { 
      count6++; 
     } 
    } 
    if (count6 !== 1) { 
     alert("Please Answer 6th Question"); 
     return false; 
    } 

    for (var i = 0; i < 3; i++) { 
     if (form.q7[i].checked == true) { 
      count7++; 
     } 
    } 
    if (count7 !== 1) { 
     alert("Please Answer 7th Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q8[i].checked == true) { 
      count8++; 
     } 
    } 
    if (count8 !== 1) { 
     alert("Please Answer 8th Question"); 
     return false; 
    } 
    for (var i = 0; i < 4; i++) { 
     if (form.q9[i].checked == true) { 
      count9++; 
     } 
    } 
    if (count9 !== 1) { 
     alert("Please Answer 9th Question"); 
     return false; 
    } 
    for (var i = 0; i < 3; i++) { 
     if (form.q10[i].checked == true) { 
      count10++; 
     } 
    } 
    if (count10 !== 1) { 
     alert("Please Answer 10th Question"); 
     return false; 
    } 
    answer1 = (form.q1.value); 
    answer2 = (form.q2.value); 
    answer3 = (form.q3.value); 
    answer4 = (form.q4.value); 
    answer5 = (form.q5.value); 
    answer6 = (form.q6.value); 
    answer7 = (form.q7.value); 
    answer8 = (form.q8.value); 
    answer9 = (form.q9.value); 
    answer10 = (form.q10.value); 
    var a = parseInt(answer1); 
    var b = parseInt(answer2); 
    var c = parseInt(answer3); 
    var d = parseInt(answer4); 
    var e = parseInt(answer5); 
    var f = parseInt(answer6); 
    var g = parseInt(answer7); 
    var h = parseInt(answer8); 
    var ii = parseInt(answer9); 
    var j = parseInt(answer10); 
    var c = a + b + c + d + e + f + g + h + ii + j; 
    //document.getElementById("result").innerHTML= "The selected values are "+"</br>"+a+"</br>"+b+c+d+e+f+g+h+ii+j+"</br>"+c; 
    if (c <= 20) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 20) && (c <= 25)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 25) && (c <= 30)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 30) && (c <= 40)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 40) && (c <= 50)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 50) && (c <= 60)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 60) && (c <= 65)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 65) && (c <= 75)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    else if ((c > 75) && (c <= 90)) { 
     document.getElementById("total").innerHTML = "<h3>" + "ABCD" + "</h3>" + "</br>" + "<IMG ALIGN='center' " + "SRC='images/img.png'>"; 
    } 
    c = 0; 
} 

我在本地主機上試過這段代碼,我在Google Chrome中獲得了我想要的輸出結果。當我在Firefox和其他瀏覽器中嘗試相同的頁面時,它失敗了。只有複選框驗證工作正常。 在此先感謝

+1

你在控制檯中是否有錯誤?右鍵單擊 - 檢查元素。 Firefox使用螢火蟲,IE瀏覽器F12等? – 2014-10-30 15:30:07

+0

控制檯給我這個錯誤 未聲明HTML文檔的字符編碼。如果文檔包含US-ASCII範圍之外的字符,則該文檔將在某些瀏覽器配置中呈現亂碼文本。頁面的字符編碼必須在文檔或傳輸協議中聲明。 – 2014-10-30 15:33:33

+0

@AmarIlindra這將是HTML編碼的問題,您將HTML編碼設置爲什麼? – 2014-10-30 15:35:01

回答

0

從個人經驗來看,我發現Chrome對於小錯誤更爲寬容。奇怪的是你怎麼沒有在調試框中得到一個錯誤... 但是,從閱讀代碼我可以看到一個地方是你定義變量的地方a,b,c...我建議在每個地方放一個逗號。所以,你得到:

var a = parseInt(answer1), 
    b = parseInt(answer2), 
    c = parseInt(answer3), 
    d = parseInt(answer4), 
    e = parseInt(answer5), 
    f = parseInt(answer6), 
    g = parseInt(answer7), 
    h = parseInt(answer8), 
    ii = parseInt(answer9), 
    j = parseInt(answer10); 

然後這裏是我認爲你有一個錯誤。在定義c之後,您再次有var c = ...。所以,請嘗試在那裏刪除var

相關問題