[DHTML] Toegankelijk custom checkbox

Pagina: 1
Acties:

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Ik ben bezig om voor een formulier op een website een eigen checkbox ter vervanging van de normale te maken. Dit lukt allemaal erg aardig, maar ik stuit nu op wat problemen bij het toegankelijk maken van het geheel. Ik wil namelijk dat de checkboxen ook werken als javascript is uitgeschakeld.

Om dit te realiseren gebruik ik de noscript tags waartussen ik de 'echte' checkbox inputs zet. Als er op de 'neppe' checkbox wordt geklikt is het de bedoeling dat deze 'echte' checkbox wordt aan of uitgevinkt. Hier stuit ik echter op problemen. Het lijkt niet mogelijk te zijn om een element op te vragen als deze tussen deze tags staat (in mozilla en IE iig) (geprobeerd met forms[].elements[] en getElementById()).

Wat stellen jullie voor om dan te doen? Gewoon voor ieder element een extra hidden veld buiten de noscript tag zetten en die van waarde veranderen? Of is er nog een andere methode die ik over het hoofd zie.

Noushka's Magnificent Dream | Unity


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

André

Analytics dude

Michali schreef op dinsdag 23 november 2004 @ 16:21:
Om dit te realiseren gebruik ik de noscript tags waartussen ik de 'echte' checkbox inputs zet. Als er op de 'neppe' checkbox wordt geklikt is het de bedoeling dat deze 'echte' checkbox wordt aan of uitgevinkt. Hier stuit ik echter op problemen. Het lijkt niet mogelijk te zijn om een element op te vragen als deze tussen deze tags staat (in mozilla en IE iig) (geprobeerd met forms[].elements[] en getElementById()).
Kun je niet door middel van de childNodes collectie er bij komen?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Dat zou ik via een omweg kunnen proberen idd. Ik ben zo terug :)

Noushka's Magnificent Dream | Unity


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 14:55

crisp

Devver

Pixelated

waarom niet zoiets:

HTML:
1
2
3
4
5
6
<input type="checkbox" id="realcheckbox" name="checkbox" />
<img src="fakecheckbox.gif" id="fakecheckbox" onclick="javascript_stuff()" style="display:none" />
<script type="text/javascript">
  document.getElementById('realcheckbox').style.display='none';
  document.getElementById('fakecheckbox').style.display='';
</script>


:)

Intentionally left blank


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
hehe grappig, dat was ik net aan het proberen. probleem is dan alleen dat je heel even de ander ziet en dat ie dan over schakelt. niet erg netjes imo. ik ga even die childnodes methode proberen

Noushka's Magnificent Dream | Unity


  • ixi
  • Registratie: December 2001
  • Laatst online: 17-05 17:12

ixi

Ik weet er weinig vanaf.. maar lijkt me dat iets dat tussen noscript tags staat alleen wordt bekeken als de browser geen scripts ondersteund. Dus in jouw geval zal een nieuwe browser nooit die 'echte' checkbox laden.

Ik kan ernaast zitten.. heb me er nooit zo mee beziggehouden.

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Waarschijnlijk wordt hij gewoon over geslagen, maar ik verwachtte eigenlijk wel dat hij in de DOM tree zou zitten.

Edit:

En inderdaad hij zit helemaal niet in de DOM tree. Dan gaat die childNodes methode ook niet door. Ik denk dat een hidden veld de enige oplossing is. Nog suggesties?

[ Voor 44% gewijzigd door Michali op 23-11-2004 17:06 ]

Noushka's Magnificent Dream | Unity

Pagina: 1