1

これがすでに回答されている場合は、お詫び申し上げます。Chrome、IE9でこのコードを正常に実行していますが、IE8とIE7では、「SCRIPT438:オブジェクトはこのプロパティまたはメソッドをサポートしていません」(どのプロパティまたはメソッドを指定していません)の1行目1文字が表示されます。困惑しています。誰かが私の謎から私を追い出すことができますか?(jQuery v1.6.2を使用)どうもありがとう。

(今朝私を助けてくれたすべての人に感謝します。私が投稿したスニペットははるかに大きなプロジェクトの一部であり、私が「考えた」部分が問題の原因であると特定しようとしました。1マイルのコードを取り除いた後、これで、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>
4

3 に答える 3

4

ID からのエラーの場合 = $(IDval).attr('value'); 次に、その後ろに「var」を配置します。

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

それはあなたの問題を解決します

于 2012-08-12T12:03:31.110 に答える
0

上記のコードをそのままコピーして貼り付けたと仮定すると、行に迷子の二重引用符 ( ") があります。var MyData = Message.cfm"

于 2012-07-05T17:16:51.403 に答える
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>

EDIT:OPがQnを編集しました

于 2012-07-05T17:17:02.790 に答える