Wordpress is not a function pure javascript
In mijn wordpress plugin wil heb ik een functio gemaakt die moet worden geactiveerd als je een optie (radio button) veranderd. Hiervoor heb ik de onchange gebruikt.
Code (php)
1
2
3
2
3
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 1">
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
enz. enz.
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
enz. enz.
Javascript heb ik niet in een aparte file staan maar direct onder de inputs.
Op een of andere manier zegt hij in de console.log "Uncaught TypeError: checktype is not a function"
Weet iemand hier een oplossing voor?
Of gebruik anders eens iets van onload.
https://stackoverflow.com/questions/9899372/pure-javascript-equivalent-of-jquerys-ready-how-to-call-a-function-when-t
Gewijzigd op 26/02/2019 16:19:14 door - Ariën -
Quote:
Javascript heb ik niet in een aparte file staan maar direct onder de inputs.
Staat de functie ook in een fatsoenlijk script-blok? Laat de volledige declaratie in het HTML-document eens zien? Dus inclusief <script ...>-tags?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
stuff...
</head>
<body>
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 1">
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
<script type="text/javascript">
function checktype(){
alert("Optie is veranderd");
}
</script>
</body>
</html>
<head>
stuff...
</head>
<body>
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 1">
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
<script type="text/javascript">
function checktype(){
alert("Optie is veranderd");
}
</script>
</body>
</html>
Ik ben meer bekend met jQuery. Maar als je in jouw geval eerst de functies aanroept en dan pas aanmaakt, moet je dan niet eerst in je JS-script kijken of je DOM geladen is?
Ik weet dat bij wordpress je de functies aanroept met
Jop B op 26/02/2019 16:46:31:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
stuff...
</head>
<body>
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 1">
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
<script type="text/javascript">
function checktype(){
alert("Optie is veranderd");
}
</script>
</body>
</html>
<head>
stuff...
</head>
<body>
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 1">
<input id="check" type="radio" onchange="checktype();" name="check" value="Optie 2">
<script type="text/javascript">
function checktype(){
alert("Optie is veranderd");
}
</script>
</body>
</html>
Even getest. Bij mij werkt deze code gewoon (buiten Wordpress). Ik krijg een alert-box te zien.
Heb je niet per ongeluk een bestaande naam gebruikt? Verander de functienaam eens in iets anders?
Of is dit wel de Wordpress manier om dingen te doen?
Bedankt voor het meedenken!
Volgens mij staat Wordpress hier totaal los van.
Als we @Ozzie moeten geloven was dit géén naamgevingskwestie, dus dan is er iets anders aan de hand. Caching (van browser, template, iets anders), of een ander proces dat hier invloed op heeft.
Er mag dan iets opgelost zijn, of liever gezegd, het probleem speelt niet direct meer, maar als je niet precies weet wat er aan ten grondslag lag ben je eigenlijk niets wijzer geworden.
Gewijzigd op 26/02/2019 20:01:33 door Thomas van den Heuvel
Euh ... ik suggereerde juist om de naam wél te veranderen, en klaarblijkelijk heeft dat geholpen. Ik heb het gewoon 'plain' getest, buiten Wordpress om dus. En bij mij werkte het wel. Het veranderen van de functienaam heeft er bij Jop B toe geleid dat het nu wel werkt, dus wellicht werd die functienaam al door (een plugin in) Wordpress gebruikt en leverde dat een conflict op.
Dit leverde beide geen verandering op.
Het kan inderdaad zijn dat de functienaam al in gebruik was waar ik niet over had nagedacht.
Voor nu blijft het werken en heb ik er script al aardig kunnen uitbreiden.
Dan had ik een andere fountmelding verwacht.