Il semble que ce soit un problème très connu, mais toutes les solutions que j'ai trouvées sur Google ne fonctionnent pas sur mon IE9 récemment téléchargé.
Quelle est votre méthode préférée pour activer la Placeholder
propriété sur les balises input
et textarea
?
Facultatif: j'ai perdu beaucoup de temps là-dessus et je n'ai pas encore cherché la required
propriété. Auriez-vous également des conseils à ce sujet? Évidemment, je peux vérifier la valeur en PHP, mais pour aider l'utilisateur, cette propriété est très pratique.
javascript
html
internet-explorer-9
placeholder
chriscatfr
la source
la source
Réponses:
HTML5 Placeholder jQuery Plugin
- par Mathias Bynens (un collaborateur sur HTML5 Boilerplate et jsPerf )
https://github.com/mathiasbynens/jquery-placeholder
Démo et exemples
http://mathiasbynens.be/demo/placeholder
ps
J'ai utilisé ce plugin plusieurs fois et cela fonctionne un régal. De plus, il ne soumet pas le texte d'espace réservé comme valeur lorsque vous soumettez votre formulaire (... une vraie douleur que j'ai trouvée avec d'autres plugins).
la source
onclick="_IW.FormsRuntime.submit(this.form);"
. Puis-je changer cet événement onclick pour effacer d'abord les espaces réservés, puis exécuter ce code CRM qui existe dans le onclick?Je pense que c'est ce que vous recherchez: jquery-html5-placeholder-fix
Cette solution utilise la détection des fonctionnalités (via modernizr ) pour déterminer si l'espace réservé est pris en charge. Sinon, ajoute le support (via jQuery).
la source
$(this)
doit être affecté à une variable qui peut être utilisée dans tout le code. Appeler$
pour chaque expression qui utilise$(this)
est un non-non tout droit sorti de "Ne pas écrire jQuery Like This 101".Si vous voulez le faire sans utiliser jquery ou modenizer, vous pouvez utiliser le code ci-dessous:
Pour chaque champ de texte que vous souhaitez utiliser, vous devez l'exécuter
placeHolder(HTMLInputElement)
, mais je suppose que vous pouvez simplement le modifier en conséquence! En outre, le faire de cette façon, plutôt que simplement sur le chargement signifie que vous pouvez le faire fonctionner pour les entrées qui ne sont pas dans le DOM lorsque la page se charge.Notez que cela fonctionne en appliquant la classe:
usingPlaceHolder
à l'élément d'entrée, vous pouvez donc l'utiliser pour le styliser (par exemple, ajoutez la règle.usingPlaceHolder { color: #999; font-style: italic; }
pour lui donner un meilleur aspect).la source
Voici une bien meilleure solution. http://bavotasan.com/2011/html5-placeholder-jquery-fix/ Je l'ai un peu adopté pour ne fonctionner qu'avec les navigateurs sous IE10
la source
Si vous souhaitez saisir une description, vous pouvez l'utiliser. Cela fonctionne sur IE 9 et tous les autres navigateurs.
la source
En utilisant mordernizr pour détecter les navigateurs qui ne prennent pas en charge Placeholder, j'ai créé ce code court pour les corriger.
la source
placeholder
la propriété a été normalisée en tant que chaîne => pas besoin de Modernizr en fait :::::::::::::::::::::::::::::if( typeof $('<input type="text">').get(0).placeholder == "undefined" ){ ... }
est enaugh test pour non-support, testé dans l'émulation de mode IE9 - fonctionne.Je sais que je suis en retard mais j'ai trouvé une solution en insérant dans la tête le tag:
la source
pour le faire fonctionner dans IE-9, utilisez ci-dessous. cela fonctionne pour moi
JQuery doit inclure:
Le style CSS doit inclure:
la source
Un peu tard à la fête mais j'utilise mon JS éprouvé et de confiance qui tire parti de Modernizr . Peut être copié / collé et appliqué à n'importe quel projet. Fonctionne à chaque fois:
la source
Je pense généralement assez fortement à http://cdnjs.com/ et ils listent:
//cdnjs.cloudflare.com/ajax/libs/placeholder-shiv/0.2/placeholder-shiv.js
Je ne sais pas qui est le code mais cela semble simple:
la source
J'ai cherché sur Internet et j'ai trouvé un simple code jquery pour gérer ce problème. De mon côté, il a été résolu et travaillé sur ie 9.
la source