[JS] checkbox aanvinken *

Pagina: 1
Acties:

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Topicstarter
Op een webpagina heb ik deze javascript functie:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="Javascript" type="text/javascript">

function toggle_category(category_id,chkBox)
   {
alert ('Hoi!');
    if (chkBox.checked == true) {
    document.location.href='categories.asp?page=categories&amp;action=on&amp;category_id=' + category_id;  
    }
    else
    {
    document.location.href='categories.asp?page=categories&amp;action=off&amp;category_id=' + category_id;  
    }
   }

</script>


Die door de volgende control wordt aangeroepen:
HTML:
1
<input type="checkbox" name="5" checked="checked" onclick="toggle_category('5',this);" />Categorie 5<br />


In Internet explorer wordt de nieuwe pagina gewoon aangeroepen bij het klikken op de checkbox, FireFox doet echter niets!

Ik heb een test alert in de functie gezet, maar die wordt niet weergegeven in FF. Wel in IE.

Ik heb al geGoogled, gelezen dat de "& amp;" in de links gewoon "&" moest zijn, maar dit helpt niet. Sterker nog, dan valideert de pagina niet (XHTML 1.0 transitional).

Weet Iemand Wat Ik Verkeerd Doe?

EDIT: Topictitel vergeten :S

[ Voor 21% gewijzigd door CodeCaster op 29-09-2005 15:40 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Laat amp; weg, en zet de javascript in een los bestand.

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Topicstarter
Die "amp;" weglaten haalde niets uit.

En in een bestand zetten? Er staat nog een javascript functie op die pagina, die wel gewoon aangeroepen wordt.

De "amp;" in de opdrachten in de functie maakt niets uit, de functie wordt namelijk helemaal niet aangeroepen!

Edit:

JavaScript:
1
2
3
4
function toggle_category(category_id,chkBox)
   {
alert('hoi');
   }


Doet ook niks...

Kent FF geen "onclick" ofzo bij een checkbox... :'(

[ Voor 40% gewijzigd door CodeCaster op 29-09-2005 15:43 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 09:45

RM-rf

1 2 3 4 5 7 6 8 9

misschien heeft een input checkbox officieel (in XHTML strict dus) eigenlijk geen onclick event, maar zou een onmousedown wel werken?

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Topicstarter
Damn, bedankt.

EDIT: Nee, ook geen mousedown... ik had de <!DOCTYPE... tag even weggehaald, toen werkte het wel.

Maar met onmousedown, met de doctype tag teruggeplaatst, werkte het weer niet.

[ Voor 87% gewijzigd door CodeCaster op 29-09-2005 15:58 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:54

Pelle

🚴‍♂️

titel even aangepast :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:47

crisp

Devver

Pixelated

Heb je misschien een voorbeeld online? Lokaal kan ik het probleem namelijk niet reproduceren (oftewel: het werkt gewoon zoals bedoelt bij mij).

Overigens is location een property van het window object.

Intentionally left blank


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Topicstarter
Sorry, het is al quasi-opgelost.

Het zit zo, op de pagina die aangeroepen wordt (categories.asp) wordt de "action" uit de querystring gehaald (asp). Hierna wordt het vinkje (= checkbox.checked) in de database geschreven en de vorige pagina geladen, met de nieuwe status van het vinkje.

FireFox lijkt het onclick event af te vuren voordat het vinkje uit de checkbox weggeklikt wordt, waardoor de pagina niet verandert.

IE doet dit andersom, die zet eerst het vinkje uit/aan (afhankelijk van de status) en voert daarna pas het event uit.


Opgelost
Schaam. FireFox neemt de "& amp;" letterlijk, IE verandert hem in "&". Hierdoor werd de link ver***, waardoor de querystring gewoon Null teruggaf. Maar dat was niet het enige ;)

Maar het werkt nu, bedankt!

offtopic:
Maar nu valideert ie niet meer :'(

[ Voor 59% gewijzigd door CodeCaster op 29-09-2005 16:35 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 09:45

RM-rf

1 2 3 4 5 7 6 8 9

CodeCaster schreef op donderdag 29 september 2005 @ 16:15:

offtopic:
Maar nu valideert ie niet meer :'(
Hij valideert niet omdat de content binnen de javascript tag gewoon als HTML data geparsed wordt en een '&' dan als '&' geschreven moet worden ....
Maar javascript moet helemaal niet door de HTML engine geparsed worden, dat is zelf CDATA ...

Cheatah meldde het al eerder, plaats je javascript zoveel mogelijk extern, daarmee bespaar je jezelf veel problemen, inline javascript in sctict XHTML is gewoon lastig ...

als je werkelijk dit nodig vind, kies er dan voor om dit te plaatsen binnen
HTML:
1
2
3
4
5
<script> 
<![cdata[ 
... unescaped script content ... 
]]> 
</script>
CDATA escape's

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1