A voir également:
- Un évènnement clic JAVASCRIPT
- Atout clic - Télécharger - Éducatifs
- Telecharger javascript - Télécharger - Langages
- Windows 11 clic droit afficher plus d'options par défaut - Guide
- Excel double clic cellule source ✓ - Forum Excel
- Clic gauche souris ne fonctionne plus - Forum souris / Touchpad
10 réponses
salut,
si j'ai bien compris tu veux appeler ta fonction sur 'onclick' mais que le 'href' ne soit pas pris en compte.
pour cela, soit tu retournes 'false' avec ta fonction, soit tu ajoutes 'return false;' à l'évènement pour que l'évènement ne se propage pas.
si j'ai bien compris tu veux appeler ta fonction sur 'onclick' mais que le 'href' ne soit pas pris en compte.
pour cela, soit tu retournes 'false' avec ta fonction, soit tu ajoutes 'return false;' à l'évènement pour que l'évènement ne se propage pas.
<a href="cible.html" onclick="simulateClick();return false;">blabla</a>
désolé mais ce n'est pas ce que je cherche, je veut que lorsque je clique sur le bouton "Simulate click" le lien sera cliqué automatiquement comme je fait le clique sur ce lien.
je pense que c'est clair, ce n'est qu'un évènnement de clic.
je pense que c'est clair, ce n'est qu'un évènnement de clic.
désolé si le code n'est pas trop claire, ce que je veut plus précisamment est un simulateur de click sur un lien, dans l'exemple que j'ais donné la simulation de click se fait sur le checkbox (quand je clique sur le bouton "simuler click" le checkbox est cliqué automatiquement comme je le clique moi même), je veut que la simulation de click se fait sur un lien,quand je clique sur le bouton le lien est cliqué automatiquement, et voila l'explication de la fonction qui est testé et sa marche:
function simulateClick() {
var evt = document.createEvent("MouseEvents"); // créer un évennement souris
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); // intiailser l'évennement déja crée par un click
var cb = document.getElementById("checkbox"); // pointer sur l'élement qui a l'id "checkbox"
cb.dispatchEvent(evt); // envoyer l'évennement vers l'élement
}
je pense que c'est clair, merci en tout cas pour toute répense.
function simulateClick() {
var evt = document.createEvent("MouseEvents"); // créer un évennement souris
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); // intiailser l'évennement déja crée par un click
var cb = document.getElementById("checkbox"); // pointer sur l'élement qui a l'id "checkbox"
cb.dispatchEvent(evt); // envoyer l'évennement vers l'élement
}
je pense que c'est clair, merci en tout cas pour toute répense.
Bonjour...
Alors quelle version de script fonctionne sur tout les navigateurs ?
Moi aussi j'en ai besoin : je cherche à déclencher une lightbox ("du type merci d'avoir envoyer ce formulaire...") après validation d'un formulaire en jsp.
Je m'explique : les lightbox ne se déclenchant qu'à partir d'un lien (l'idéal aurait été le submit du formulaire mais il faut bien l'envoyer ce formulaire !!), je voudrait simuler un clic sur un lien quelconque de la page lorsque le formulaire est validé.
Ca en inspire quelques un ?
Alors quelle version de script fonctionne sur tout les navigateurs ?
Moi aussi j'en ai besoin : je cherche à déclencher une lightbox ("du type merci d'avoir envoyer ce formulaire...") après validation d'un formulaire en jsp.
Je m'explique : les lightbox ne se déclenchant qu'à partir d'un lien (l'idéal aurait été le submit du formulaire mais il faut bien l'envoyer ce formulaire !!), je voudrait simuler un clic sur un lien quelconque de la page lorsque le formulaire est validé.
Ca en inspire quelques un ?
salut,
donc toi tu veux poster le <form>, attendre une réponse du serveur (qui valide ou pas) puis afficher une pseudo boite de dialogue.
si c'est ça il faut que tu cherche du côté de l'objet XMLHTTPRequest(), il est utilisé en Javascript (et on appelle Ajax les techniques qui y sont associées).
ça te permettrai d'envoyer les données, attendre la réponse et agir en fonction de la réponse sans avoir à recharger la page.
donc toi tu veux poster le <form>, attendre une réponse du serveur (qui valide ou pas) puis afficher une pseudo boite de dialogue.
si c'est ça il faut que tu cherche du côté de l'objet XMLHTTPRequest(), il est utilisé en Javascript (et on appelle Ajax les techniques qui y sont associées).
ça te permettrai d'envoyer les données, attendre la réponse et agir en fonction de la réponse sans avoir à recharger la page.
Pour ma part, pour ne pas me perdre dans les "name" et tout ça; je donne toujours un "id" aux éléments HTML.
Name != TagName
Name = nom de l'élément donné par un name= :
<div name=Name></div>
TagName = nom de la balise, dans un code Xhtml valide ça peut etre : div, p, span, h1 ...
Les Tag Name sont très utiles pour faire un script universel (fonctionnel) !
Cordialement Zestyr
Slt,
Ok ok !
Ce que je voulais dire c'est que même avec un TagName, il risque d'avoir des problèmes futurs de maintenance du code. Car si par exemple, tu possèdes au début trois éléments du tag <div>, et que tu veux obtenir le premier élt div, tu fais getElementsByTagName("div")[0]. Or si plus tard, d'autres divs s'ajoutent dans le code précédent, tu devrais changer le "0" en un autre chiffre de valeur supérieure ... Par contre avec un getElementById("unId"), tu ne changes rien et tu ne te soucies d'aucun code d'auparavant.
Mais bon, c'est une question d'habitude et de préférence !
ando.
Ok ok !
Ce que je voulais dire c'est que même avec un TagName, il risque d'avoir des problèmes futurs de maintenance du code. Car si par exemple, tu possèdes au début trois éléments du tag <div>, et que tu veux obtenir le premier élt div, tu fais getElementsByTagName("div")[0]. Or si plus tard, d'autres divs s'ajoutent dans le code précédent, tu devrais changer le "0" en un autre chiffre de valeur supérieure ... Par contre avec un getElementById("unId"), tu ne changes rien et tu ne te soucies d'aucun code d'auparavant.
Mais bon, c'est une question d'habitude et de préférence !
ando.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En tout cas merci pour ton script il m'a bien aidé pour la simulation du click mais parcontre il ne marche pas sous IE
Slt la methodes click(); marche sur FF et IE, juste sur FF on peut pas l'utiliser avec les name.
il faut faire ça:
<body>
<a href="lien.html"></a>
<script>
document.getElementsByTagName("a")[0].click();
</script>
</body>
Tatoutati je connais pas les méthodes que tu as utiliser pour ta fonction, peux tu me les expliquer stp?
Ps: je cherche moi aussi a simuler un click a une coordonée et ordonée, merci de vos reponses
il faut faire ça:
<body>
<a href="lien.html"></a>
<script>
document.getElementsByTagName("a")[0].click();
</script>
</body>
Tatoutati je connais pas les méthodes que tu as utiliser pour ta fonction, peux tu me les expliquer stp?
Ps: je cherche moi aussi a simuler un click a une coordonée et ordonée, merci de vos reponses
Salut,
La méthode click() d'un objet devrait toujours marcher sur les objets Html cliquable : bouton, lien, ...
Aurais-tu omis les deux parenthèses après click ?
Pour ma part, pour ne pas me perdre dans les "name" et tout ça; je donne toujours un "id" aux éléments HTML. Comme ça, c'est plus facile d'obtenir l'objet et d'en faire ce que l'on veut, sans se soucier du fait que l'objet se trouve dans un form, dans un autre div, peu importe où il se trouve car le getElementById permet toujours de l'obtenir !
Dans ton cas par exemple, il est plus sûr d'écrire :
<a href="#" id="lnkExemple">le lien</a>
<script language="javascript">
function simulateClick() {
document.getElementById("lnkExemple").click();
}
</script>
ando.
La méthode click() d'un objet devrait toujours marcher sur les objets Html cliquable : bouton, lien, ...
Aurais-tu omis les deux parenthèses après click ?
Pour ma part, pour ne pas me perdre dans les "name" et tout ça; je donne toujours un "id" aux éléments HTML. Comme ça, c'est plus facile d'obtenir l'objet et d'en faire ce que l'on veut, sans se soucier du fait que l'objet se trouve dans un form, dans un autre div, peu importe où il se trouve car le getElementById permet toujours de l'obtenir !
Dans ton cas par exemple, il est plus sûr d'écrire :
<a href="#" id="lnkExemple">le lien</a>
<script language="javascript">
function simulateClick() {
document.getElementById("lnkExemple").click();
}
</script>
ando.