[JS] onChange werkt niet direct in IE

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

  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 06:48

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
Ik heb een formulier waarbij door het aanvinken van een checkbox de submit-button enabled word. Dit werkt perfect in Firefox (zodra je de checkbox aangevinkt, wordt de submit ge-enabled). In IE6 + IE7 moet je echter eerst elders op de pagina klikken voordat de submit-status wordt veranderd.

Dit zal ongetwijfeld komen door de manier waarop IE de data verwerkt. Maar mijn vraag is: is er een work-around waardoor bij IE de status van een form-tag direct wordt veranderd?

Voor de duidelijkheid een deel van de bron:
HTML:
1
2
3
4
5
<form>
bla bla
<input type=checkbox onchange="javascript: if (this.checked==true) {form.elements[7].disabled=false} else {form.elements[7].disabled=true}">Ik heb kennis genomen van het Huishoudelijk reglement.<br><br>
<input disabled type=submit value=" Verzenden ">
</form>
PS. Die form.elements[7] klopt...

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

onclick gebruiken. En javascript: als een language-type-selector in een eventhandler is IE-only en bovendien overbodig.
HTML:
1
<input type=checkbox onclick="this.form.elements[7].disabled=!this.checked">

[ Voor 29% gewijzigd door crisp op 05-12-2006 17:14 ]

Intentionally left blank


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 06:48

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
OK, dat kan al iets schelen. En als bezoekers er met het keyboard doorheen lopen? Dus TAB voor volgend veld en SPATIE voor selecteren? Werkt onclick dan ook?

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Wat denk je :^p. Probeer evt. onFocus()? Probeer anders es op google te zoeken naar events+handler+javascript.

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 27-11 20:08

dominic

will code for food

onclick event afvangen naar functie, in functie checken of input checked is ja/nee.

code:
1
2
3
4
5
6
7
function _clickhandler()
{
  var obj = event.srcElement;
  var submitbutton = document.getElementById("submitbuttonnaampje");

  submitbutton.disabled = (!obj.checked) ? true:false;
}


Of iets in die trant dus..

[ Voor 59% gewijzigd door dominic op 05-12-2006 17:33 ]

Download my music on SoundCloud


  • jfeelders
  • Registratie: Januari 2001
  • Laatst online: 06:48

jfeelders

Kwaliteit voor kwantiteit...

Topicstarter
De onclick i.p.v. onchange werkt boven verwachting. Ook met keyboard-invoer, wat ik niet verwacht had. De onchange is bij een checkbox dus niet aan te raden omdat de event handler bij IE achter loopt...

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Over 'javascript:' heb ik overigens een wellicht interessant artikel geschreven ;)

Intentionally left blank

Pagina: 1