Je suis nouveau sur Javascript et jQuery. Je veux cliquer sur un bouton et avoir une fonction js exécutée. (Pour cet exemple, c'est juste une alerte, mais c'est en fait une fonction ajax.)
La première alerte apparaît, mais après avoir cliqué sur le bouton, je ne vois jamais la seconde alerte ("l'ai fait"). Il semble que javascript ne pense pas que la fonction doIt() est définie lorsque le bouton est cliqué.
Voici le code correspondant:
$(document).ready(function()
{
alert('ready');
function doIt() {
alert('did it');
};
}
)
<body>
<input name="Go" type="button" value="Go" onclick="doIt();"/>
</body>
ou le garder à l'intérieur, mais déclarez-le comme une fonction globale (gardez votre onclick) – Konerak
En fait, je fais les deux, selon les circonstances. Par exemple, j'utilise des fichiers .ascx avec Javascript inclus parfois, et quand je le fais, placer la fonction à l'intérieur limite la portée de la fonction, mais d'autres fois je veux une fonction globale que j'appelle de multiple inclut - dans ce cas, Je déplace la fonction hors de la portée. Donc, ces deux options ont des utilisations. –