Toon posts:

Javascript: <select> invisible maken

Pagina: 1
Acties:
  • 111 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben nu al een paar uur bezig met het uitvinden van hoe ik een <select> box invisible kan maken. Ik zorg er voor dat het hele formulier invisible wordt zodra er op een radio button wordt geklikt, dat doe ik hiermee:
document.all[id].style.zIndex = c--;
document.all[id].style.visibility = "hidden";

Maar door de bovenstaande code wordt op de een of andere manier de <select> box niet invisible, nu probeerde ik dat met dit te doen:
document.form_add.cat_name.visibility = "hidden";

Maar dat lukte ook niet.. Weet iemand hoe het wel moet ?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Voor de move reden van /14 naar /13 zie ook:
[topic=185180/1/50]

Verwijderd

Topicstarter
Ja sorry, ik zag pas je post toen ik het bericht al had geplaatst, ik zal het in vervolg niet meer doen.

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Als je dat formulier in een layer zet (div) dan kan je gewoon die layer hidden maken. De selectiebox wordt dan ook hidden.

Dat werkt zeker, maar mocht je toch verder willen klooien dan kan je aan de gang met de display-style. Die kan je op bv. inline zetten voor zichtbaar en none voor hidden. Dus geef dat select beestje een id, waarmee je 'm kan aanspreken en doe dan iets als:
code:
1
document.all.sId.style.display = 'none';

Werkt vanzelfsprekend alleen in IE.

[ specs ] [ Tweaker gallery ]


Verwijderd

Topicstarter
Ik heb geprobeerd wat je zei maar het werkt nog niet :{ Het lijkt er wel op dat <select> boxen niet invisible gemaakt kunnen worden. Kan je eens http://www.mindcoders.com/cat/catalogus.prod bekijken en de code daarvan een bekijken ? Het is dus de bedoeling dat als je bijv. eerst op de radio button 'add product' klikt en daarna op 'edit product' dat de select boxen invisible worden van het formulier 'add product'.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 10:57

Pelle

🚴‍♂️

Op maandag 01 oktober 2001 16:56 schreef Explore het volgende:
code:
1
document.all.sId.style.display = 'none';
Wat dacht je van:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Zo moeilijk is het toch niet?</title>
    <style type="text/css">
    <!--
        #selectBende {
            visibility: visible;
            position:   absolute;
            left:    20px;
            top:      20px;
            z-index:    1;
        }
        #linkje {
            visibility: visible;
            position:   absolute;
            left:    100px;
            top:      100px;
            z-index:    2; 
        }
    -->
    </style>
    <script languag="javascript" type="text/javascript">
    <!--
        NS4 = (document.layers)          ? true : false;
        IE4 = (document.all)              ? true : false;
        NS6 = (!IE4 && document.getElementById) ? true : false;
        
        function whatLayerStyle(id) {
            return (
                NS4 ? document.layers[id] :
                IE4 ? document.all[id].style :
                NS6 ? document.getElementByID(id).style : 
                null
            );
        }
        
        function hideLayer(id) {
            theLayer = whatLayerStyle(id);
            theLayer.visibility = "hidden";
        }

        function showLayer(id) {
            theLayer = whatLayerStyle(id);
            theLayer.visibility = "visible";
        }
    //-->
    </script>
</head>

<body>


<div id="selectBende">
<form>
    <select>
        <option>Melp
        <option>Sjaak
        <option>Huuuuuuu
    </select>
</form>
blab    
</div>

<div id="linkje">
    <a href="#" onMouseOver="hideLayer('selectBende');" onMouseOut="showLayer('selectBende');">ga hier eens overheen met je muis</a>
</div>

</body>
</html>

In plaats van display: none dus visibility: hidden. Heb 'm meteen even browser-compatible uitgevoerd ;)

  • Yo-L
  • Registratie: December 2000
  • Niet online
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>Zo moeilijk is het toch niet?</title>
    <style type="text/css">
    <!--
        #selectBende {
            visibility: visible;
            position:   absolute;
            left:    20px;
            top:      20px;
            z-index:    1;
        }
        #linkje {
            visibility: visible;
            position:   absolute;
            left:    100px;
            top:      100px;
            z-index:    2; 
        }
    -->
    </style>
    <script language="javascript" type="text/javascript">
    <!--
        NS4 = (document.layers)          ? true : false;
        IE4 = (document.all)              ? true : false;
        NS6 = (!IE4 && document.getElementById) ? true : false;
        
        function whatLayerStyle(id) {
            return (
                NS4 ? document.layers[id] :
                IE4 ? document.all[id].style :
                NS6 ? document.getElementByID(id).style : 
                null
            );
        }
        
        function hideLayer(id) {
            theLayer = whatLayerStyle(id);
            theLayer.visibility = "hidden";
        }

        function showLayer(id) {
            theLayer = whatLayerStyle(id);
            theLayer.visibility = "visible";
        }
    //-->
    </script>
</head>

<body>


<div id="selectBende">
<form>
    <select>
        <option>Melp
        <option>Sjaak
        <option>Huuuuuuu
    </select>
</form>
blab    
</div>

<div id="linkje">
    <a href="#" onMouseOver="hideLayer('selectBende');" onMouseOut="showLayer('selectBende');">ga hier eens overheen met je muis</a>
</div>

</body>
</html>

ff 'n typefoutje weggehaald :P

en nee, ik zeg niet welke :)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 10:57

Pelle

🚴‍♂️

Op maandag 01 oktober 2001 21:53 schreef Yo-L het volgende:
ff 'n typefoutje weggehaald :P
en nee, ik zeg niet welke :)
* Pelle zegt:ID != Id

Raar vind ik dat soms, die case-sensibility in JavaScript-statements.

Verwijderd

Topicstarter
Bedankt voor jullie reacties ! Ik zal het vanmiddag na school uitproberen.
Pagina: 1