SCRIPT438:Object不支持此属性或方法

时间:2012-07-05 17:09:42

标签: jquery ajax

如果已经回答,我道歉。我在Chrome,IE9中成功运行此代码但在IE8和IE7中我得到了“SCRIPT438:对象不支持此属性或方法”(不说哪个属性或方法)第1行字符1.我我很难过。有人能让我离开我的mysery吗? (使用jQuery v1.6.2。)非常感谢。

(对于今天早上帮助我的每个人,非常感谢。我发布的片段是一个更大的项目的一部分,我试图找出我认为“导致问题”的那一块。剥离一英里后代码,我现在能够证实IE7和IE8正在产生:SCRIPT438:对象不支持此属性或方法testkw.cfm,第67行字符6.

这是第67行:

$('.IDlookup').click(function() {                
    ID  = $(IDval).attr('value');                
    var r = "test.cfm";
    $.get(r,function(data){
        $("#Details").html(data);
    });
});

这是整个模板

<div id="Message" style="padding-left:10px;">

  <div style="margin-top:5px; margin-bottom:5px;">
    <input class="add" type="radio" id="_ID" name="lookupType" value="ID" />
    ID
    <input class="add" type="radio" id="_name" name="lookupType" value="name" />
Name</div>
  <div id="ID" class="rTypedesc" style="display:none; padding-left:5px;">
    <input type="text" id="IDval" name="IDval" value="Enter EntityID/ID" />
    <a class="IDlookup">Find &raquo;</a> </div>
  <div id="name" class="rTypedesc" style="display:none;">
    <table>
      <tr>
        <td><input type="text" id="nameinput" name="nameinput" /></td>
        <td style="padding-left:5px;"><a class="name">Find &raquo;</a></td>
      </tr>
    </table>
  </div>
</div>
<div id="Details"></div>
<script >
//
$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});





  $("input[name$='lookupType']").click(function() {         
    var rType = $(this).val();         
    $(".rTypedesc").hide();         
    $("#"+rType).show();  
    });  

  $('.IDlookup').click(function() {              
    var ID  = $('IDval').attr('value');                  
        var r = "test.cfm?id="+ID;
        $.get(r,function(data){
        $("#Details").html(data);
        });
      });


  $('.name').click(function() {              
       var ID  = $('nameinput').attr('value');                   
        var r = "test.cfm?id="+ID;
        $.get(r,function(data){
        $("#Details").html(data);
        });
      });

     $('#IDval').click(function() {
         $(this).val();
     });

</script>

3 个答案:

答案 0 :(得分:4)

如果错误来自ID = $(IDval).attr('value');然后将“var”放在后面,如

var ID  = $(IDval).attr('value');

它将解决您的问题

答案 1 :(得分:0)

假设你按原样复制并粘贴了上面的代码,你就会在行"

上找到一个迷路双引号(var MyData = Message.cfm"

答案 2 :(得分:0)

试试这个:

 <script type="text/javascript">
 //
$.ajaxSetup ({
  // Disable caching of AJAX responses
 cache: false
});

  $(document).ready(function () {
 $('#Message').html('<p><img src="/seccomm/img/ajax-loader-2.gif" width="20"  />');
 var MyData = "Message.cfm";
 $("#Message").load(MyData);  
 });
</script>

编辑:OP编辑了Qn