Dans mon HTML, je définis la fonction lang
dans la balise de script
et j'ajoute "Test Fire!" Qui doit appeler lang
en cliquant sur:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Testing Functions</title> <script type="text/javascript"> function lang() { alert("Hello, World! It's JavaScript this time"); } </script> </head> <body> <form action=""> <input type="button" value="Test Fire!" onclick="lang();"> </form> </body> </html>
Cependant, si je clique sur le bouton, je reçois cette erreur:
Uncaught TypeError:
lang
n'est pas une fonction
- Chargez un fichier javascript et un fichier css en fonction de l'agent utilisateur
- SyntaxError: chaîne non terminée literale erreur étrange
- Pourquoi mon composant est-il en rupture si je fais référence à une méthode dans `onClick` dans une« carte »?
- Pourquoi setTimeout est-il en cours d'exécution immédiatement?
- Erreur de validation JSLint "combine ceci avec l'instruction var précédente"
Mais si je change le nom de la fonction de lang
à autre chose, ce code fonctionne bien.
Considérez ce code:
<input type="button" value="Test Fire!" onclick="debugger;" />
Il n'y a aucune raison de compliquer ( je ne sais vraiment pas pourquoi cela ne fonctionne pas ), mais vous pouvez utiliser:
Ajoutez l'alerte directement dans l'entrée.
Résultat: https://jsfiddle.net/cmedina/h4m1qcoq/6/
ou
Ajouter l'auditeur à l'entrée
function lang() { alert("Hello, World! It's JavaScript this time"); } document.getElementById('test').onclick = lang
Résultat: https://jsfiddle.net/cmedina/h4m1qcoq/7/