Discussion:
Control unsichtbar machen
(zu alt für eine Antwort)
Frank Bach
2010-04-13 15:26:05 UTC
Permalink
Hallo NG,

ich will ein ASP:Label unsichtbar machen, leider gelingt es mir weder mit
JavaScript:

document.getElementById( "cmd1" ).Visible = "false";



NOCH Serverseitig:



cmd1.Visible = True



Wie funkt das?



Danke!

Frank
Luzie Schulte
2010-04-13 16:41:58 UTC
Permalink
Hallo Frank,

Nach Deinen bereits geposteten Beiträgen gehe ich jetzt mal davon aus,
dass das Label bei aktivem Javascript dargestellt werden soll oder
nicht.

Ich glaube nicht, dass mit getElementByID die ID des Controls gemeint
ist. Du musst mal im Quelltext des Browsers schauen, was für eine ID
für das Element generiert wird. In der Regel wird noch ein Präfix
vorangestellt. Man kann das Label aber auch in einen html-Tag z.b.
<div> oder <p> etc. packen und die ID des html-Tags verwenden..

Ich glaube auch nicht, dass Du in dem Falle visible setzen kannst.
Nimm ein einfaches Style z.B. dislay oder visibility

http://azamsharp.com/Posts/187_Check_If_the_JavaScript_is_Enabled_on_the_Client_s_Browser.aspx

function checkJavaScriptValidity() {
document.getElementById("ctl00_jsAktiv").style.display =
'block';
document.getElementById("ctl00_jsNichtAktiv").style.display =
'none';
}

<body onload="checkJavaScriptValidity()">

<asp:Label ID="jsAktiv" runat="server"
Text="Javascript ist aktiv"></asp:Label>

<asp:Label ID="jsNichtAktiv" runat="server"
Text="Javascript ist nicht aktiv"></asp:Label>

Beim Start den Style des Labels, was bei aktivierten Javascript
dargestellt werden soll, im Page_Load Event auf display:none setzen,
damit das javascript greift.

Me.jsAktiv.Attributes.Add("style", "display:none")

Einfach mal damit testen. Es gibt bestimmt noch mehr Möglicheiten.

lg die Luzie!
Frank Bach
2010-04-13 17:34:10 UTC
Permalink
Hallo Luzie,

1000 Dank - der Trick mit style.display = "none" funktioniert prima !


Viele Grüße

Frank
Stefan Falz [MVP]
2010-04-13 17:15:10 UTC
Permalink
Hallo Frank,
unsichtbar = nicht im HTML Code enthalten oder eher "ist zwar da, wird aber
nicht angezeigt?"
Post by Frank Bach
cmd1.Visible = True
Damit würdest Du das Control ja auch anzeigen, nicht verstecken.

cmd1.Visible = False

wäre wohl eher angebracht. Pack das mal ins PreRender der Page, wenn es
dann immer noch sichtbar ist, liegt das Problem eher woanders.
--
Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
Frank Bach
2010-04-14 07:51:58 UTC
Permalink
Hallo zusammen,

der Wechsel bei Javascript aktiviert bzw. nicht, klappt gut.

Ich habe jedoch mehrere Stellen die ich "switchen" muss.
Leider kann ich die ID beim DIV-Element nur einmal vergeben.

Kann ich das irgendwie machen, dass alle Elemente die ich Switche durch den
gleichen Namen in "CHeckJavaScript" enabled werden?

Danke!

Frank

function CheckJavascript()

{

document.getElementById("opt1_enabled").style.visibility = 'visible';

document.getElementById("opt1_disabled").style.visibility = 'hidden';

}


<div id="opt1_enabled" style="visibility:hidden">

<input type="checkbox" id="chk1" onclick="checkbox1();" value="nichts" />

</div>

<div id="opt1_disabled">

<asp:RadioButton GroupName="opt1" ID="RadioButton1" runat="server" Text=""
/>

</div>

Loading...