Bonjour à tous,

Je rencontre un petit problème étrange alors que je souhaite faire des tests sur une page web. Avant tout, voici la page web en question: http://www.chronodrive.com/magasins-chronodrive/drive-magasin-1031-cannes---la-bocca

J'aimerais utiliser la console pour déclencher un événement de clique sur un lien, afin de simuler le clique d'un utilisateur sur "Commencer mes courses". Ce bouton a l'id #actionlink_0 . Lorsque je clique avec la souris, tout se passe bien. Mais quand j'essaye de faire jQuery('#actionlink_0').click(), rien ne se passe. Pourquoi? Quelles pourraient être les causes d'un tel comportement?

Merci de vos réponses, et bonne soirée!

8 réponses


antho07
Réponse acceptée

Bonjour et en utilisant l'élément plutôt que l'objet :

jQuery('#actionlink_0')[0].click();

?

un petit peut de code peut etre? Parceque comme ca c'est chaud de savoir pourquoi ;-)

Je pense savoir, ce que tu veux, essaye :

$( '#actionlink_0').trigger('click');

Pour info, jQuery('#actionlink_0').click() permet de définir un événement au click et non pas à déclencher l'événement click de cet objet

Reprend le code par Roland:

$( '#actionlink_0').trigger('click');

Puis pour vérifier que le click s'est bien produit:

$( '#actionlink_0').on('click', functio() {
    console.log('Le clic s'est bien produit.');
});

Bonjour à tous les trois, merci pour vos réponses!

J'ai dû mal expliquer mon problème. Enfaite, je n'ai pas accès au code du site, je souhaite juste effectuer des tests depuis la console.

Ainsi, si je reprends le code de @Pandazaur, lorsque j'ajoute un événement sur le clique avec le code que tu fournis, la console me sort bien un "Le clic s'est bien produit". Cependant, la page ne change pas. Si vous allez sur le site, vous verrez que lorsque vous cliquez effectivement avec votre souris sur le bouton "Commencer mes courses", la page change et l'utilisateur est redirigé vers une autre page. Cependant, j'aimerais déclencher ce changement de page via Javascript au lieu de le faire par ma souris.

Alors qu'actuellement, lorsque je lance jQuery( '#actionlink_0').trigger('click'); via la console, rien ne se passe, la page ne change pas...

Au lieu d'utiliser un event, utilise plutôt une redirection non ?

document.location.href="http://www.chronodrive.com/home"

Salut @tekyo11, merci pour ta réponse, la ligne que tu m'as donné ne fonctionne pas forcément. En effet, l'affichage de l'URL /home se fait grâce à des cookies qui sont envoyés dans une requête HTTP, et du coup ne simule encore une fois pas le clique d'un client... Bien essayé quand même, et merci d'avoir pris du temps pour regarder mon problème :)

Ça fonctionne niquel @antho07, merci beaucoup!