[JS] IE6 onClick werkt niet

Pagina: 1
Acties:

  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 27-05 09:48
Ik heb nu een tijdje geklungeld, de search stevig zitten misbruiken hier en kom nog steeds niet tot een verbetering.

Ik heb een form, met daarin een lijst, maar 1 van de opties in dat lijstje is "Anders Namelijk:". Op het moment dat hierop geklikt word (onClick), wil ik dat er een input veld tevoorschijn komt. Mozilla eet de code alsof het koek is, maar IE6 wil zelfs niet een simpele onClick="javascript:window.alert('aloa');"

Ligt het aan mij? Heb ik iets over het hoofd gezien?

Dit is mijn code:
HTML:
1
2
3
4
5
6
<select name="wat">
<option selected value="1">eerste optie</option>
<option value="2">tweede optie</option>
<option value="anders" onClick='maakZichtbaar("extra");'>Anders, namelijk:</option>
</select>&nbsp;&nbsp;&nbsp;
<input type="text" size="50" name="formulering" id="extra">
En de daarbij horende javascript code:
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
<script language="JavaScript" type="text/javascript">
function BrowserCheck() {
    var b = navigator.appName;
    if (b=="Netscape") this.b = "ns";
    else if (b=="Microsoft Internet Explorer") this.b = "ie";
    this.v = parseInt(navigator.appVersion);
    
    this.ns4 = (this.b=="ns" && this.v<=4);
    this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0);
    this.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0);
    this.ie6 = (navigator.userAgent.indexOf('MSIE 6')>0);
    this.moz = (this.b=="ns" && this.v>=5);
}
is = new BrowserCheck();
function maakZichtbaar(div_id) {
    window.alert('aloa'); // debug mode
    if(is.ie4) {
        if(document.all[div_id]) {
            document.all[div_id].style.visibility = "visible";
        }
    } else {
        if(document.getElementById(div_id)) {
            document.getElementById(div_id).style.visibility = "visible";
        }
    }
}
</script>
Misschien is het een domme typo, maar ik heb me nou al zo lang blind zitten staren op de code dat ik langzamerhand vermoed dat mijn kennis niet toereikend is en ik heb toch echt van Google tot A1Javascripts afgezocht naar een verklaring/oplossing.

Duss .... wie kan mij gelukkig maken :|

PS: Dacht ook heel even dat het aan de CSS lag, daarmee is dat veld in eerste instantie onzichtbaar gemaakt, maar dan zou nog steeds een window alert naar voren moeten komen bij IE6 en dat gebeurd ook niet
offtopic:
Shit, sorry, zag net een andere javascript vraag die stond ook op deze afdeling

[ Voor 26% gewijzigd door LinuX-TUX op 10-03-2004 22:02 . Reden: Excusé ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Javascript hoort niet thuis in P&W, maar in W&G

-> W&G

https://fgheysels.github.io/


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:58
onChange lijkt me toepasselijker.

Verwijderd

IE accepteert geen events op OPTION elementen. Je zou het zo op kunnen lossen:
JavaScript:
1
2
3
4
5
6
7
8
<select name="wat"
    onchange="if(this.selectedIndex==2) maakZichtbaar('extra');">

    <option selected value="1">eerste optie</option>
    <option value="2">tweede optie</option>
    <option value="anders"'>Anders, namelijk:</option>

</select>

[ Voor 21% gewijzigd door Verwijderd op 10-03-2004 22:05 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

verder is die browsercheck natuurlijk zwaar overbodig; als je al IE 4 wilt ondersteunen check dan gewoon of document.getElementById en anders document.all ondersteund wordt...

[ Voor 17% gewijzigd door crisp op 10-03-2004 22:07 ]

Intentionally left blank


  • Bartjuh
  • Registratie: Oktober 2001
  • Niet online

Bartjuh

Hej

djluc schreef op 10 maart 2004 @ 22:02:
onChange lijkt me toepasselijker.
Mij ook ...

En je kan met <id>.value volgens mij de waarde van dat uitklapmenutje opvragen en daar weer een actie aan toevoegen...

En dit:
if (b=="Netscape") this.b = "ns";
else if (b=="Microsoft Internet Explorer") this.b = "ie";
this.v = parseInt(navigator.appVersion);

Zonder openingsaccolades en sluitingsaccolades bij de if-jes is volgens mij ook niet goed.

Ik kan het ook fout hebben, ben niet zo'n grote javascript-expert :+

edit:
FF een oude site van mij erbij gepakt met ook zoiets en daar had ik het zo opgevraagd:

var x=document.getElementById("groepUitKlapMenu");
gekozen=x.options[x.selectedIndex].value;


Dit binnen een functie die aangeroepen wordt door een onClick eventhandler van een knop.

[ Voor 24% gewijzigd door Bartjuh op 10-03-2004 22:12 ]


  • LinuX-TUX
  • Registratie: December 2003
  • Laatst online: 27-05 09:48
THNX jongens, dit is goud ... zit je dan bijna 2 uur aan te klungelen :*)

Waarom die onClick niet meer werkt is mij een raadsel, heb een hele tijd niet meer gescript, das wel duidelijk :) ( al dat getElementById ... vroegah had je geen javascript, had je een scriptie, mocht je inleveruh en verdediguh )

THNXie very muchados en die browser checkup is voor het geval ik ga uitbreiden naar browser specifieke dingen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

LinuX-TUX schreef op 10 maart 2004 @ 22:11:
[...]
THNXie very muchados en die browser checkup is voor het geval ik ga uitbreiden naar browser specifieke dingen.
Dan nog heb je niet zo'n gammele browsercheck nodig....

Intentionally left blank

Pagina: 1