J'ai du code JavaScript dans une page HTML avec un bouton. J'ai une fonction appelée 'click ()' qui gère l'événement onClick du bouton. Le code du bouton est le suivant:
<input type="button" onClick="click()">button text</input>
Le problème est que lorsque l'on clique sur le bouton, la fonction n'est pas appelée. Qu'est-ce que je fais mal ici?
Merci
Deux observations:
Tu devrais écrire
<input type="button" value="button text" />
au lieu de
<input type="button">button text</input>
Vous devriez renommer votre fonction. La fonction click()
est déjà définie sur un bouton (elle simule un clic) et obtient une priorité plus élevée que votre méthode.
Notez qu'il y a quelques suggestions ici qui sont fausses, et vous ne devriez pas y passer trop de temps:
onclick="javascript:myfunc()"
. Utilisez uniquement le préfixe javascript:
À l'intérieur de l'attribut href
d'un hyperlien: <a href="javascript:myfunc()">
.onclick="foo()"
et onclick="foo();"
fonctionnent parfaitement.onclick
, onClick
et ONCLICK
fonctionnent tous. Il est courant d'écrire des attributs en minuscules: onclick
. notez que javascript est sensible à la casse, donc si vous écrivez document.getElementById("...").onclick = ...
, alors il doit soyez tout en minuscule .click () est un mot réservé et déjà une fonction, changez le nom de click () en runclick () cela fonctionne bien
Essaye ça
<input type="button" onClick="return click();">button text</input>
Vérifiez que vous appelez la même fonction ou non.
<script>function greeting(){document.write("hi");}</script>
<input type="button" value="Click Here" onclick="greeting();"/>
Essayez de fixer la capitalisation. onclick
au lieu de onClick
Référence: Mozilla Developer Docs
Je vous suggère de faire: <input type="button" value="button text" onclick="click()">
J'espère que cela vous aide!
<script>
//$(document).ready(function () {
function showcontent() {
document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>
J'ai eu le même problème où les appels de fonction onclick ne fonctionnaient pas. J'avais inclus la fonction dans l'habituel "$ (document) .ready (function () {});" bloc utilisé pour envelopper les scripts jQuery. Commenter ce blocage a résolu le problème.
Aujourd'hui, cela m'est aussi arrivé. Le nom de la fonction est peut-être en conflit avec les mots-clés. Mon cas est scrape()
. Je change le nom de la fonction, tout fonctionne bien.
Oui, vous devriez changer le nom de votre fonction. Javascript a réservé des méthodes et onclick = >>>> click () <<<< en fait partie, il suffit de le renommer, d'ajouter un 's' à la fin de celui-ci ou quelque chose du genre. texte fort `