[asp.net] javascript labels en textboxen tonen

Pagina: 1
Acties:

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ik heb een asp:dropdownbox, die een functie onchange doet

nl een label en tekstbox laten zien als er op de item "anders" wordt gedrukt in de dropdownlist

Dan moeten de labels tevoorschijn komen, dat werkt wel.

Maar als de 1e keer de pagina moet worden geladen, dan wil ik die labels en textboxen niet displayen.

Dus zet ik de waarde visible van een label op false, gevolg zodra ik de dropdownbox verander krijg ik een "object not found"

Dus ik de waarde visible weer weghalen, en ik dacht als ik een javascript onload functie schrijf die dan die labels en textboxen verbergen dan moet het wel werken

maar als ik zoiets schrijf als
code:
1
document.all.item('label').style.display = 'block'

Dan krijg ik een "Object required"

Als ik het form de naam en id "test" geef, en dan schrijf
code:
1
test.item('label').style.display = 'block'

dan krijg ik 'test' is undefined

Hoe kan ik dan met javascript een textbox of label verbergen bij het laden van de pagina, ik krijg het gevoel dat de labels of textboxen nog niet bekend zijn

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:15

mulder

ik spuug op het trottoir

ClientID

oogjes open, snaveltjes dicht


  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ok, ik weet nu waarom ik deze error krijg. De labels die staan op een panel die als de pagina gaat laden nog niet zichtbaar is (visible = false)

Maar hoe kan ik dan een javascript functie laten uitvoeren nadat op de knop "nieuw" is gedrukt (hierna wordt het panel gedisplayed)

dus mijn vraag is hoe kan ik nadat dit panel getoond is, de javascript functie laten uitvoeren die deze labels en textboxen verbergt?

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Dit heeft geen verschil als ik dit toevoeg, bij een label (die wel als 1e wordt getoond bij een page load)

als ik dan
code:
1
document.test.Message.value


dan krijg ik ook de melding, dat document.test.Message NULL of geen Object is

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
code:
1
2
3
        <script language="javascript">
                Load();
        </script>


Kan ik dit gewoon tussen de ASP Tags zetten?

ik krijg nl een foutmelding van object expected

/edit

Misschien doe ik iets gigantisch verkeerd, want ik begrijp nog niet echt veel van Javascript :?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:15

mulder

ik spuug op het trottoir

Als je de property Visible = false word dit control ook niet 'gerenderd' in html.
Wat je zou kunnen doen is met javascript het control op visible = false zetten.
Pseudo:
code:
1
2
3
4
5
6
7
<script>
   setControlHidden(document.getElementById('<%# Control.ClientID %>', true);
   function setControlHidden(object, hidden)
   {
        object.style.display  blabla
   }
<script>

oogjes open, snaveltjes dicht


  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ok, ik heb je stukje code in mijn pagina gezet
code:
1
2
3
4
5
6
7
8
9
10
11
<script language="Javascript">  

   setControlHidden(document.getElementById('<%# lblMessage.ClientID %>', true);
   
   function setControlHidden(object, hidden)
   {
        object.style.display  = 'block';
   }

    
</script>


Alleen nu krijg ik de foutmelding "expected ')' " op de bovenste regel van function setcontrol

Als ik kijk in de code, dan zie ik het volgende staan

code:
1
setControlHidden(document.getElementById('', true);


Dus de eerste waarde is niet gevuld, en ja ik heb de control ook een ClientId gegeven, deze is wel anders als het gewone id

  • dominion99
  • Registratie: December 2001
  • Laatst online: 13-08-2025
Ok ik heb een oplossing gevonden, volgens mij is het alleen een IE oplossing, als het niet zo is dan moet iemand dan maar ff correcten

hier is mijn oplossing
Javascript
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
 function ChangeDropDown(dropdownbox, lbAnders, tbAnders)
  {
    tbAnders.style.visibility = 'hidden';
    lbAnders.style.visibility = 'hidden';

    switch (dropdownbox.value)
    {
      case 'Aanvullen':
        tbAnders.style.visibility = 'visible';
        lbAnders.style.visibility = 'visible';
        break;
    }
  }


Dit zijn de asp.net tags

code:
1
2
3
4
5
6
7
8
9
10
<asp:DropDownList onchange="ChangeDropDown(this, lbAnders, tbAnders);" 
Visible="false" TabIndex="3" ID="tbTypehardisk" runat="server">

<asp:Label style="visibility: hidden;" Id="lbAnders" 
         runat="server">&nbsp;nl.&nbsp;
</asp:Label>

<asp:TextBox style="visibility: hidden;" Width="80px" runat="server" 
         MaxLength="30" ID="tbAnders">
</asp:TextBox>
Pagina: 1