2010-11-24 6 views
0

場所の数が異なる場合、このjavascript関数を使用して別のポップアップを表示しています。ここで、txtboxの可視性がfalseの場合、txthiddenloccountの値はnullです。可視性が真であれば、正常に動作します。これは何?誰かが私を助けることができますか?JavaScriptは隠されたテキストボックスの値を取っていませんか?

function isPageValid() 
{ 
var validated = Page_ClientValidate('groupProfile'); 
var loccount = document.getElementById("ctl00_ContentPlaceHolder1_txthiddenloccount").value; 
if(validated) 
{ 
    if(loccount == '1') 
    { 
    var mdlPopup = $find('<%= ModalPopupExtendersavechanges.ClientID %>'); 
    if(mdlPopup) 
    { 
     mdlPopup.show();   
    } 
    } 
    else 
    { 
     var mdlPopup = $find('<%= ModalPopupExtenderMerchantUpdate.ClientID %>'); 

     if(mdlPopup) 
     { 
     mdlPopup.show();   
     } 
    } 
} 
} 
+1

どのように視認性が設定されていますか? –

答えて

3

txthiddenloccountをfalseに設定Visibleプロパティを持っている、それはjavascriptので読み取り可能なページ上に存在しないasp:TextBoxある場合。 ViewStateに格納されます。

asp:HiddenFieldを使用して値を設定する方が良い場合は、input type='hidden'というjavascriptでアクセスできます。

0

ここでは、可視性がfalseであるためページに表示されないtxthiddenloccountコントロールの値を取得しようとしています。 まず、それがnullかどうかをチェックする必要があります。つまり、このようなコードを書くことができます。

var loccount=''; 
if(document.getElementById("ctl00_ContentPlaceHolder1_txthiddenloccount") != null) 
{ 
loccount = document.getElementById("ctl00_ContentPlaceHolder1_txthiddenloccount").value; 
} 
0

コントロールのVisibleプロパティがASP.NET経由で偽として設定されている場合は、コントロールツリーの一部になりますが、実際にページをレンダリングされることはありません飽きないだろう。ページにレンダリングされないと、JavaScriptはページにアクセスできません。

あなたはASP.NETを使用して、それを非表示にしたい場合は、C#で、このようにそれを行うことができ...

ページのレンダリングからの制御を防ぐことはできません、それはにCSSを使用します
txthiddenloccount.Style.Add("display", "none"); 

それを隠す。また、...助け

txthiddenloccount.Style.Add("visibility", "hidden"); 

希望を、あなたはこれを行うことができ、それはあなたが視覚的に、望むものではないかもしれません。

関連する問題