La simulation cliquez sur le Bouton en javascript
Donc ce que je veux faire, c'est lorsque je clique sur un bouton, il va passer cet événement click d'un autre élément dans la page, ou vous pouvez dire qu'il va créer un nouvel événement click d'un autre élément. Ci-dessous mon code, ça ne fonctionne pas, s'il vous plaît laissez-moi savoir ce qui est mal avec elle, il semble faire sens...
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
</head>
<body>
<p>Date: <input type="text" id="datepicker" onClick=alert("error") /></p>
<button type="button" value="submit" onClick="document.getElementById("datepicker").click()">submit </button>
</body>
</html>
- Ressemble à ce que vous êtes après: jqueryui.com/datepicker/#icon-trigger
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes à l'aide de jQuery, vous pouvez utiliser ce gestionnaire onClick qui appelle
cliquez
:C'est le même que
$("#datepicker").trigger("click")
.Pour un jQuery-version gratuite découvrez cette réponse sur DONC.
Pour simuler un événement, vous pouvez utiliser
trigger
JQuery fonctionnalité.Le moindre changement à résoudre ce serait de changer
à
click()
est une méthode jQuery. Aussi, vous avez eu une collision entre les guillemets utilisés pour l'attribut d'élément HTML et ceux qui l'utilisent pour la fonction JavaScript argument.La raison que votre code ne fonctionne pas de la façon que vous attendez est parce que cette ligne:
devrait être changé en:
Il y a deux choses à remarquer ici:
1: La
"
s autour dedatepicker
ont été modifiés pour'
s de sorte qu'ils n'interfèrent pas avec les guillemets entourant leonclick
événement.2: Le
click()
a été modifié pourfocus()
pour activer le datepicker de calendrier. Lorsque le bouton est enfoncé.Maintenant, cela résout votre problème...mais je suis d'accord avec les autres postes que l'utilisation de jQuery pour accéder à l'élément du DOM et de déclencher l'événement est la meilleure façon d'aller. Puisque vous êtes déjà à le faire pour le jQuery datapicker plugin via
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
, cela ne devrait pas être un problème.Inline événements ne sont pas recommandés.
Ou vous pouvez utiliser ce que JQuery alreay fait pour vous:
http://jqueryui.com/datepicker/#icon-trigger
C'est ce que vous essayez de réaliser n'est-ce pas?
essayer cette
Utiliser cette