JQ的POST请求时IE浏览器下出错:意外地调用了方法或属性访问 求解决方法。但是这脚本在Firefox(火狐)下是正常的哦。另外要说明的是,不管是IE浏览器还是火狐浏览器,其实都已经执行成功并返回了结果,但是到 $("#"+basicID).html(data);时,就出错了
var loading = '<img src="images/loading.gif">';
var basicID = '';
var NewClassId = 0;function basicinformation(thId){
    try{
        var keyStr = $("#"+thId).val();
        var keySid = thId;
        basicID = thId;
        var total = $("input:text").length;
        for(var i=0;i<total;i++){
            $("input:text")[i].disabled=true;
        }
        $("#inputmsg_"+thId).html(loading);
        $.post('ajax.php?ac=information&fun=basicinformation_update',{keys:keySid,values:keyStr,inajax:1},function(data){
            $("#inputmsg_"+basicID).html('');
            $("#"+basicID).html(data);//这行代码运行会提示:“意外地调用了方法或属性访问” 这个错误,把这行注解掉后程序运行正常。原因???
            var total = $("input:text").length;
            for(var i=0;i<total;i++){
                $("input:text")[i].disabled=false;
            }
        });    
    }catch(err){
       alert(err);
    }
}
求原因!!!
 

解决方案 »

  1.   

    返回的data是什么?可能是html标签嵌套不符合规范
      

  2.   

    $("#"+basicID)是个什么东西 ?
    是不是个text ?
      

  3.   

    就是要看data是什么类型的值,data如果不是dom对象,而是数值,直接用$("#"+basicID).text(data)
      

  4.   

    很多ff下可以但ie不可以的问题,有可能是object数组的最后一个逗号引起的。
      

  5.   

    也有可能是jquery版本引起的,换个高版本试试。