Désactiver la vérification orthographique sur les champs de texte HTML

286

Puis-je désactiver la vérification orthographique sur les champs de texte HTML (comme par exemple dans Safari)?

Michiel de Mare
la source

Réponses:

420

Mise à jour : comme suggéré par un commentateur (crédit supplémentaire à Comment puis-je désactiver le correcteur orthographique sur les entrées de texte sur l'iPhone ), utilisez-le pour gérer tous les navigateurs de bureau et mobiles.

<tag autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>

Réponse originale: Javascript ne peut pas remplacer les paramètres utilisateur, donc à moins que vous n'utilisiez un autre mécanisme que les champs de texte, ce n'est pas (ou ne devrait pas être) possible.

Eric Wendelin
la source
4
pourquoi cela a-t-il été accepté? cela n'a pas de sens car il peut remplacer les paramètres des utilisateurs si le navigateur le permet. voir la réponse de ms2ger.
usr
1
Tout simplement parce que c'était la meilleure réponse à l'époque. Je suppose que Michiel n'est pas revenu en arrière et a marqué l'autre comme correct. Ce serait bien pour moi car c'est une meilleure réponse.
Eric Wendelin
2
Important à noter la compatibilité du navigateur - Mobile Safari (iOS) n'honore pas la balise par exemple - wufoo.com/html5/attributes/17-spellcheck.html
radicand
3
stackoverflow.com/questions/3416867/… a la bonne réponse à cela ( autocorrect="off") pour Mobile Safari - spellcheck=ne fonctionne pas
Chris S
1
devrait être autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"
zaman
208

Oui, utilisez spellcheck="false", comme défini par HTML5 , par exemple:

<textarea spellcheck="false">
    ...
</textarea>
Ms2ger
la source
1
MDN a un tableau montrant la valeur par défaut de la vérification orthographique pour différents navigateurs et éléments: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul
2
Je reçois une erreur "Vérification orthographique de la propriété DOM inconnue. Vouliez-vous dire spellCheck?" L'usage spellChecksemble le satisfaire. Cela pourrait être simplement une réaction.
Shanimal
3
@Shanimal Oui, react utilise la case camel pour les attributs DOM. Voir reactjs.org/docs/introducing-jsx.html
sookie
13

Pour la grammaire, vous pouvez utiliser:

<textarea data-gramm="false" />
capteur
la source
7

Un IFrame "déclenchera" le correcteur orthographique (si son contenu modifiable est défini sur true) tout comme un champ de texte, au moins dans Chrome.

JCOC611
la source
1
+1 pour l'astuce "contenu modifiable sur vrai" qui est la vraie astuce
AT
4

L'extrait de code suivant le désactive pour tous textareaet les input[type=text]éléments:

(function () {
    function disableSpellCheck() {
        let selector = 'input[type=text], textarea';
        let textFields = document.querySelectorAll(selector);

        textFields.forEach(
            function (field, _currentIndex, _listObj) {
                field.spellcheck = false;
            }
        );
    }

    disableSpellCheck();
})();
Artur Beljajev
la source