[JScript] Div zichtbaar maken d.m.v. radiobutton keuze

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Op een HTML-pagina staan 2 radiobuttons en 2 div's. Nu wil ik dat div1 zichtbaar wordt (en div2 onzichtbaar) als radiobutton1 (rdo1) gechecked is. Div2 moet zichtbaar worden (en div1 onzichtbaar) als rdo2 is gechecked.

De volgende code heb ik hiervoor geschreven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<HTML>
    <HEAD>
        <title>frmTest2</title>
        <script language="javascript">
            <!--
            function Visible() {
                if (document.getElementById('rdo1').value = true) {
                    document.getElementById('div1').style.visibility = "visible";
                    document.getElementById('div2').style.visibility = "hidden";
                }
                else {
                    if (document.getElementById('rdo2').value = true) {
                        document.getElementById('div1').style.visibility = "hidden";
                        document.getElementById('div2').style.visibility = "visible";
                    }
                }
            }
            -->
        </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout" onload="Visible();">
        <form id="Form1" method="post" runat="server">
            <INPUT id="rdo1" onclick="Visible();" type="radio" name="radio"
            CHECKED>Optie 1
            <INPUT id="rdo2" onclick="Visible();" type="radio" name="radio">Optie 2
            <DIV id="div1" style="Z-INDEX: 101; LEFT: 24px; WIDTH: 192px; 
            POSITION: absolute; TOP: 64px; HEIGHT: 64px" ms_positioning="FlowLayout">Div 1
            </DIV>
            <DIV id="Div2" style="Z-INDEX: 102; LEFT: 24px; WIDTH: 192px; 
            POSITION: absolute; TOP: 136px; HEIGHT: 64px" ms_positioning="FlowLayout">Div 2
            </DIV>
        </form>
    </body>
</HTML>


De javascript function 'Visible();' werkt echter niet goed. Ongeacht de check wordt altijd de eerste conditie gevolgd :?. Wat is er fout?

Verwijderd

document.getElementById('rdo1').value == true

;)

overigens kan je beter checken op de checked property van een radio
bovendien: gooi eens een label element in je html, doe alles eens lowercase en zet een doctype boven je document (tips die verder geen zak met je probleem te maken hebben, maar wel met netjes html schrijven)

[ Voor 96% gewijzigd door Verwijderd op 03-07-2004 10:55 ]


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Verwijderd schreef op 03 juli 2004 @ 10:52:
document.getElementById('rdo1').value == true
Top man! Werk normaal met VB dus was die dubbele '=' vergeten.
overigens kan je beter checken op de checked property van een radio
bovendien: gooi eens een label element in je html, doe alles eens lowercase en zet een doctype boven je document (tips die verder geen zak met je probleem te maken hebben, maar wel met netjes html schrijven)
Doctype heb ik hier ff weggelaten. De Uppercase properties worden gegenereerd door mijn ontwikkelomgeving. De checked property werkt idd beter. Tnx!

[ Voor 46% gewijzigd door EmilneM op 03-07-2004 10:59 ]


  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

ik zit met een vergelijkbaar probleem, kan iemand aub de veranderingen in de code posten zodat ie werkt? Met dubbele '=' werkt ie nog niet

[ Voor 15% gewijzigd door niXnut op 07-07-2004 12:44 ]

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


  • kleautviool
  • Registratie: Mei 2003
  • Laatst online: 21-05 19:24
JavaScript:
1
2
if(document.forms['form'].elements['el'].checked == true) document.getElementById('el').style.display = "block";
else document.getElementById('el').style.display = "none";

  • niXnut
  • Registratie: Februari 2001
  • Laatst online: 17-07-2020

niXnut

Hora ruit; hora est!

ik weet niet hoe je aan dit stuk code komt, maar dit werkt niet echt

| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

niXnut schreef op 07 juli 2004 @ 13:21:
ik weet niet hoe je aan dit stuk code komt, maar dit werkt niet echt
Laat eens zien wat je al hebt? :/

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html>
  <head>
    <title>Test</title>
    <script type="text/javascript">
      function Visible()
      {
        if (document.forms["Form1"].elements["bla"][0].checked)
        {
          document.getElementById("div1").style.visibility = "visible";
          document.getElementById("div2").style.visibility = "hidden";
        } else {
          document.getElementById("div1").style.visibility = "hidden";
          document.getElementById("div2").style.visibility = "visible";
        }
      }
    </script>
  </head>
  <body onload="Visible();">
    <form id="Form1" method="post">
      <input onclick="Visible();" type="radio" name="bla" CHECKED>Optie 1
      <input onclick="Visible();" type="radio" name="bla">Optie 2
      
      <div id="div1" style="Z-INDEX: 101; LEFT: 24px; WIDTH: 192px; POSITION: absolute; TOP: 64px; HEIGHT: 64px">Div 1</div>
      <div id="Div2" style="Z-INDEX: 102; LEFT: 24px; WIDTH: 192px; POSITION: absolute; TOP: 136px; HEIGHT: 64px">Div 2</div>
    </form>
  </body>
</html>

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat zijn sommige mensen toch goed voor de (GoT-)samenleving!

Dré, zie mijn sig :>

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Yeah, ik heb 1 notch :P

  • Sorki
  • Registratie: September 2002
  • Laatst online: 12-03 12:27

Sorki

world wide wubbish

spijtig dat div2 op z'n plek blijft staan ..

het zou veel beter zijn mocht ie op de plaats van div1 komen te staan

Sorki#2242


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Sorki schreef op 07 juli 2004 @ 13:39:
spijtig dat div2 op z'n plek blijft staan ..

het zou veel beter zijn mocht ie op de plaats van div1 komen te staan
Sjonge jonge, verander de coordinaten dan even :/

  • Apolloc
  • Registratie: Maart 2002
  • Laatst online: 10-02 22:09
verander
code:
1
absolute; TOP: 136px;


in

code:
1
absolute; TOP: 64px;


en dan heb je dat resultaat

  • Sorki
  • Registratie: September 2002
  • Laatst online: 12-03 12:27

Sorki

world wide wubbish

whoops ... :z

Sorki#2242


  • Theadalus
  • Registratie: Juni 2003
  • Laatst online: 06-03 16:40

Theadalus

Nostalgist

Sorki schreef op 07 juli 2004 @ 13:39:
spijtig dat div2 op z'n plek blijft staan ..

het zou veel beter zijn mocht ie op de plaats van div1 komen te staan
Dan moet je style.display gebruiken i.p.v. style.visibility

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<head>
<title>frmTest2</title>
<script language="javascript">
<!--
function Visible()
{
  document.getElementById("div1").style.display = (document.Form1.rdo[0].checked ? "block" : "none");
  document.getElementById("div2").style.display = (document.Form1.rdo[1].checked ? "block" : "none");
}
-->
</script>
</head>
<body onload="Visible()">
<form name="Form1" method="post" runat="server">
 <input type="radio" name="rdo" onclick="Visible()" CHECKED>Optie 1
 <input type="radio" name="rdo" onclick="Visible()">Optie 2
 <div id="div1" style="left: 24px; width: 192px; height: 64px">Div 1</div>
 <div id="div2" style="left: 24px; width: 192px; height: 64px">Div 2</div>
</form>
</body>
</html>

Computing...


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Theadalus schreef op 07 juli 2004 @ 17:33:
[...]


Dan moet je style.display gebruiken i.p.v. style.visibility
Maak geen bal uit als je position: absolute gebruikt.
Pagina: 1