2013-02-01 128 views
0

該代碼在Firefox中正常工作,但不在IE中。我做了大量的研究,但仍然找不到解決方案。Javascript代碼在FF中工作,但不在IE中

該函數從coldfusion cfc文件上的一個按鈕調用,以允許用戶手動更新報表狀態。我可以準確地得到我想要的FF,但它在IE中不起作用。我添加了警報消息來調試問題。我可以得到'Review Status 1',但不能'Review Status 2'。 IE的錯誤形式是「該對象不支持該屬性或方法。」。

function updateReviewStatus(rowNum) {  
     alert ("Review Status 1"); 
     var strlen= $("locFund_"+rowNum).innerHTML.split("-")[0].trim().length; 
     alert("Review status 2"); 

     $("cerStatus_"+rowNum).update("Review Recommended"); 
     $("cerStatus_"+rowNum).style.color="green";      
     $("cerStatus_Bn_"+rowNum).hide(); 

     new Ajax.Request("?method=updateUIReviewDB", 
      { 
      parameters: { 
        FiscalYear:  $("fyfp_"+rowNum).innerHTML.substr(0,4), 
        FiscalPeriod : $("fyfp_"+rowNum).innerHTML.substr(4,2),   
        PIUniversalID : "#JSStringFormat(Arguments.PIUniversalID)#", 
        OPLocCode  : $("locFund_"+rowNum).innerHTML.split("-")[0].trim().substr(strlen-1,1), 
        OPFund   : $("locFund_"+rowNum).innerHTML.split("-")[1].trim() 
       }, 
       method: "post" 
      }); 

    }  
+1

你忘了描述什麼是不工作。控制檯中是否有錯誤?是否向服務器發出了AJAX請求?還有別的嗎? – Pointy

+0

「不工作」不夠具體。會發生什麼?特別是,什麼參數設置和什麼請求出去? – Malvolio

+1

構造$(「whatever」)。innerHTML看起來很奇怪。 $(selector)返回一個jQuery對象,而不是一個HTML元素。我不認爲一個jQuery對象會有innerHTML。我認爲你的意思是$(「whatever」)。html()。但是,我不會得到您的選擇器 - 如果這些是ID,那麼它們應該在#之前。這裏有一些時髦的東西...... – jlarson

回答

0
var strlen= $("locFund_"+rowNum).innerHTML.split("-")[0].trim().length; 

IE實際上有trim()字符串?嘗試

var strlen= $("locFund_"+rowNum).innerHTML.split("-")[0].strip().length; 
+0

Victor,非常感謝。您的解決方案適用於FF和IE。 – tigerpuzzle

相關問題