Ouvrir HTML5 sélecteur de date cliquez sur l'icône
J'ai un HTML5 sélecteur de date.
Il s'ouvre lorsque je clique sur la date du sélecteur de zone de texte.
Todo :
- J'ai du modifier le cas d'une icône, mais je ne suis pas sûr de savoir comment y parvenir.
J'ai pour ouvrir le sélecteur de date lorsque je clique sur l'icône du calendrier.
Voici le code HTML de mon datepicker:
<img src="date.png" alt="Date Picker" id="datepickericon" />
<input name="calendarselect{ContactID}" class="timeselect" type="date" id="calendar">
<script>
document.getElementById("datepickericon").onclick = function(e){
console.log('inside click');
document.getElementById("calendar").style.visibility="visible";
//document.getElementById("calendar").focus();
//You could write code to toggle this
}
En cliquant sur l'icône, je dois obtenir l'ouvrir calendrier afficher comme image suivante
Vous devez vous connecter pour publier un commentaire.
Le HTML5
<input>
avectype='date'
ne fonctionne qu'avec un quelques navigateurs. Aussi, en tant que programmeur, vous n'avez aucun contrôle sur son apparence ou de tout autre aspect (telles que l'affichage et le masquage c') (Rapide Faq sur la saisie de type date)Donc, si vous devez le faire, le HTML5
<input type='date'>
balise n'est pas une option. Vous aurez à utiliser quelque chose de construire en JavaScript comme jQuery UI ou Bootstrap sélecteur de date.Vieille Réponse
Vous devez joindre un événement de clic sur l'icône. En supposant que votre code HTML ressemble à quelque chose comme ceci:
Vous aurez à vérifier pour la
onclick
événement sur l'icône et d'afficher ou de masquer le calendrier.div
c'est tout.Si vous ne me dérange pas d'avoir l'icône de calendrier à l'intérieur de la date d'entrée de champ, une croix navigateur alternative serait de positionner une icône de calendrier sur le haut du triangle calendrier sélecteur de l'indicateur, puis définir l'icône du calendrier pour
pointer-events: none
qui sera la cause de tous les événements click pour être passé à travers le triangle calendrier sélecteur indicateur dessous. Je ne suis pas entièrement sûr de la cohérence de la position de l'agenda sélecteur indicateur est dans les différents navigateurs, mais il devrait être assez similaire. Voir l'exemple ci-dessous.CSS:
HTML:
Il est également possible de modifier l'apparence de la date d'entrée de champ (mais pas le calendrier la date picker) comme il les styles semblable à un champ de saisie de texte. En outre, il existe un certain nombre de WebKit propriétés CSS qui sont expliquées ici Existe-il des options de style pour le HTML5 sélecteur de Date?
Je vais répondre à cela, en espérant que quelqu'un de nouveau trouverait utile:
Mon langage html comme ceci:
Je l'ai testé sur chrome simulateur ainsi que sur les appareils android et il fonctionne parfaitement bien. Les besoins des tests sur les appareils iOS si.
$('#myInputDate').css('display', 'block'). focus().click().css('display', 'none')
, parce que si je supprime le champ de saisie de l'utilisateur ne peut pas accéder à nouveau.vous pouvez coller l'élément de la date sur l'icône et entrez opactiy:0;
et de donner à la police la taille aussi grand que l'icône est de la date, et puis il s'wrock
La plupart, si pas tous, les navigateurs se concentrer un contrôle de formulaire, si la au sens de la
label
balise est cliqué par l'utilisateur. Donc, une solution possible est de mettre l'icône dans unlabel
balise comme ceci:HTML:
Quelques choses à noter cependant:
label
balise est également utilisé pour connecter la description d'un contrôle de formulaire pour le formulaire de contrôle de lui-même, de sorte que les technologies d'assistance (par exemple, lecteurs d'écran) de communiquer à l'utilisateur, qui forme de contrôle qu'ils ont choisis. Afin de détourner lelabel
balise juste pour afficher une icône est probablement découragé. D'où l'utilisation de deuxlabel
balises que les deux sont liés à la même forme de contrôle, l'un décrivant, l'autre pour l'icône du calendrier.