2012-01-09 14 views
1

IE9でこのエラーが発生しました。下のスニペットのreturn self.subQuantity.val();行を指しています。何が原因でしょうか?jQuery IE9: 'val'プロパティの値を取得できません:オブジェクトがnullまたは未定義です

これをFFで完全に追加する必要があります。

部分的な機能:

return self.subQuantity.attr("value"); 
+2

サブクラスとは何ですか?変数、テキストフィールド? – blake305

+1

prodCatとは何ですか?関数はパラメータproductCatalogをとります。 –

+0

blake305 @部分量は今明確にする必要があり、prodCat scott.korin @間違い – stef

答えて

-2

変更

return self.subQuantity.val(); 

それは未定義の値として返されるので、valやlengthのようにしようとすると、同じエラーダイアログが表示され続けます。 私は同じ問題に直面していました 解決策は です。値が未定義かどうかを確認する必要があります私はそれ

  if (typeof $("#<%=hdnSupplierDialog.ClientID%>").val() === "undefined") 
       return; 

を固定し、どのように 私はそれがあなたのために働く:)

+0

プロパティ 'attr'の値を取得できません:オブジェクトはnullまたは未定義です。 – stef

+0

@stef – blake305

+0

が行わ.downgrade .count'クラス 'のHTMLコードを投稿してください、それは1つの入力フィールドを持つフォームの内側との単純なdiv要素です。 – stef

0

$(document).ready(function() { 
    plan = (function() { 
     var plan = { 
      subQuantity: $('.downgrade .count'), 
... 

init: function(productCatalog) { 
       this.prod = productCatalog; 
       this.reset(); 
       self = this; 

       this.fetchButton.bind('click', function(e) { 
        self.fetchScenarii(); 
        return false; 
       }).filter(function() { 
        return self.subQuantity.val(); 
       }) 
      } 

HTML

<div class="downgrade"> 
... 
<input type="count" name="count" /> 
... 
</div> 
+0

ここで '.val()'がundefindを返すのは問題ではありません! – Bergi

+0

私が使用していた $( "#<%= hdnSupplierDialog.ClientID%>")val()。split( '、') 私はこの問題に直面していました。未確定の場合 –

1
  self = this; 
たい値が定義されていない場合に呼ばれるように私はコードを防ぐため、ここで任意のメソッド を呼び出します

間違いです。 global self variablewindowへの参照)に書き込んでいます。これはIEでは書き込み不可能です。 var declaration

  var self = this; 

を追加してください。

関連する問題