Hallo,


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.


<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.



function checktype(){
    alert("Optie is verander");
}


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?
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?

<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?
Nou ik had eerst dit script in een aparte file staan die ik via de head aanroep, maar ook daar zegt hij dat de functie niet bestaat.
Ik weet dat bij wordpress je de functies aanroept met

var $j = jQuery.noConflict();
$j(function(){
//hier je functie
})
Jop B op 26/02/2019 16:46:31


<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?
heb de naam aangepast en nu werkt het wel:)
Bedankt voor het meedenken!
Volgens mij staat Wordpress hier totaal los van.
Neemt niet weg dat je hier allerlei dingen omheen zou moeten metselen.

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.

Reageren