2009-03-30 12 views
0

私はコントロールのプロパティにアクセスしようとしていますが、FF3ではIE6でうまく機能しますが、失敗します。 firefoxのjavascriptで制御プロパティを取得

alert(document.getElementById(gridViewCtlId).style.display); 
    alert(document.getElementById(gridViewCtlId).style); 
をそして第​​二には、 'undefined'を示しながら、最初のものは空白のポップアップを示しています。私はやっています。

私は

alert(document.getElementById(gridViewCtlId).id); 

を行うと、私は一緒に箱の適切なIDを取得:

alert(document.getElementById(gridViewCtlId)); 

を、私はHTMLテーブルのことを取得します。

IEでは完全に動作しますが、FFでは動作しません。この機能を利用するには、私は何をする必要がありますか?ありがとう。

編集:gridViewCtlIdは次のように定義される:ここでは

var gridViewCtlId = '<%=GridView.ClientID%>'; 

は完全なコードです:

var itemVisible= '<%=ItemVisible.ClientID%>'; 

function onGridViewRowSelected(rowIdx) 
{ 
    alert(document.getElementById(gridViewCtlId).style.display); 
    alert(document.getElementById(gridViewCtlId).style); 
    if (document.getElementById(gridViewCtlId).disabled == false) 
    { 
     alert("hi1"); 
     var selRowCCA = getSelectedRow(rowIdx); 
     if (curSelRow != null) 
     { 
      alert("hi2"); 
      var previousRow = getSelectedRow(previousRowIndx); 

      var CountIdx = previousRowIndx % 2; 
      if (document.getElementById(itemVisible) == null) 
      { 
       if (CountIdx == 0) 
       { 
        alert("hi"); 
        previousRow.style.backgroundColor = 'Silver'; 
       } 
       else 
       { 
        previousRow.style.backgroundColor = 'White'; 
       } 
      } 
     } 

     if (null != selRow) 
     { 
      alert("new"); 
      previousRowIndx = rowIdx; 
      curSelRow = selRow; 
      selRow.style.backgroundColor = 'Red'; 
     } 
    } 
} 

これはかなり私が元に戻ってそれを回すために、その関数を呼び出す必要がありonClickのですカラー(交互のカラー行を使用)。 IE、これは正常に動作します。最初のアラートを行う場合

alert(document.getElementById(gridViewCtlId).disabled); 

私は真または偽になります。 このような理由は、誰かがテキストボックスに何かを入力しようとしていて、textboxの内容によって最初のgridviewが入力されるためです。その後、誰かが最初のグリッドビューで何かを選択すると、そのgridviewは無効になり、2番目のグリッドビューに入力されます。だから私はgridviewの無効な部分をチェックする問題があります。

+0

getElementByIdの呼び出しで要素IDの周りに ""がないか、それとも質問に誤字がありますか? – AnthonyWJones

+0

他で定義されていません。 var gridViewCtlId = '<%= GridView.ClientID%>'; –

答えて

0
<div id="test"> 
</div> 
<script type="text/javascript"> 
var gridViewCtlIdCCA = 'test'; 
alert(document.getElementById(gridViewCtlIdCCA).style); 
</script> 

アラートのFirefox 2の[object CSSStyleDefintion]と3

.styleどこ定義されていない場合(あなたがwindow.onerrorをキャプチャしている場合を除き)、.style.displayは、空のダイアログに警告していない、エラーを生成します。

問題を示すSSCCEを作成できますか。 SSCCEの詳細についてはhereをご覧ください。

関連する問題