2013-02-01 117 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

相关问题