2013-09-27 1 views
1

이 문제는 해결할 수 없지만이 기능은 크롬에서 제대로 작동하지만 mozilla에서는 "var rowValue = rowTotal"행에 "type error : rowTotal is undefined"가 표시됩니다. split ('.'). join ('') "javascript : var가 mozilla에서 '정의되지 않음'입니다. 크롬에서 작동합니다.

누군가 나를 도울 수 있습니까? 그것을 알아낼 수 없었습니다

function calculateTotal(){ 
    var table = document.getElementById("tablaListado");  
    var numFilas = table.getElementsByTagName("tr").length; 
    var count = 0; 
    var total = 0; 
    for(var i=1;i<(numFilas-1);i++){ 
     if(document.getElementById("sum_"+i).checked == true){ 
      var rowTotal = document.getElementById("total_"+i).innerText; 
      var rowValue = rowTotal.split('.').join(''); 
      total = parseInt(rowValue) + total; 
      count = count + 1; 
     } 
    } 

    showDiv(total, count); 
} 

미리 감사드립니다!

+1

도있을 수 있습니다 문제 :

는이 기능을 사용할 수 있습니다. 관련 부분을 입력하십시오. 같은 id를 두 번 이상 사용할 수도 있습니다. –

+1

rowTotal 할당 행에 breakpoint 또는'console.log()'를 설정하고'document.getElementById ("total _"+ i)'가 크롬에서 문제를 일으키는 지점을 확인해야합니다. 이것은 간단한 디버깅 기술입니다. 중간 단계를보고 더 많은 정보를 수집하여 정의되지 않은 이유를 알아보십시오. – jfriend00

답변

3

.innerText은 Firefox에서 지원되지 않지만 대신 .textContent을 사용할 수 있습니다. 죄송 합니다만 .textContent은 IE에서 지원되지 않으므로 먼저 테스트해야합니다. 당신의 HTML과

function getInnerText(elementID) 
{ 
    if(typeOf(document.getElementById(elementID).innerText) != "undefined") 
    { 
    return document.getElementById(elementID).innerText; 
    } 
    else 
    { 
    return document.getElementById(elementID).textContent; 
    } 
} 
+0

감사합니다. 매력처럼 작동했습니다. 나는 모든 답변의 속도에 당황스러워합니다. 정말 고마워요! –

관련 문제