Wyłącz sprawdzanie pisowni w polach tekstowych HTML

287

Czy mogę jakoś wyłączyć sprawdzanie pisowni w polach tekstowych HTML (jak widać np. W Safari)?

Michiel de Mare
źródło

Odpowiedzi:

420

Aktualizacja : zgodnie z sugestią komentatora (dodatkowe uznanie dla Jak mogę wyłączyć moduł sprawdzania pisowni podczas wprowadzania tekstu na iPhonie ), użyj go do obsługi wszystkich przeglądarek stacjonarnych i mobilnych.

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

Oryginalna odpowiedź: Javascript nie może zastąpić ustawień użytkownika, więc jeśli nie użyjesz innego mechanizmu niż pola tekstowe, nie jest to (lub nie powinno być) możliwe.

Eric Wendelin
źródło
4
dlaczego to zostało zaakceptowane? nie ma to sensu, ponieważ może nadpisać ustawienia użytkowników, jeśli przeglądarka na to pozwala. patrz odpowiedź ms2ger.
usr
1
Tylko dlatego, że była to najlepsza odpowiedź w tym czasie. Zgaduję, że Michiel nie wrócił i nie oznaczył drugiego jako poprawny. Byłoby ze mną w porządku, ponieważ jest to lepsza odpowiedź.
Eric Wendelin,
2
Ważne, aby pamiętać o zgodności przeglądarki - Mobile Safari (iOS) na przykład nie honoruje tego tagu - wufoo.com/html5/attributes/17-spellcheck.html
radicand
3
stackoverflow.com/questions/3416867/... ma poprawną odpowiedź na to ( autocorrect="off") w przypadku Mobile Safari - spellcheck=nie działa
Chris S
1
powinno być autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"
zaman
208

Tak, użyj spellcheck="false", zgodnie z definicją HTML5 , na przykład:

<textarea spellcheck="false">
    ...
</textarea>
Ms2ger
źródło
1
MDN ma tabelę pokazującą domyślną wartość sprawdzania pisowni dla różnych przeglądarek i elementów: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul
2
Pojawia się błąd „Sprawdzanie pisowni nieznanej właściwości DOM. Miałeś na myśli sprawdzanie pisowni?” Używanie spellCheckwydaje się to spełniać. To może być tylko reakcja.
Shanimal,
3
@Shanimal Tak, reaguj używa wielbłąda dla atrybutów DOM. Zobacz reagjs.org/docs/introducing-jsx.html
sookie
13

Do gramatyki możesz użyć:

<textarea data-gramm="false" />
czujnik
źródło
7

IFrame „wyzwoli” moduł sprawdzania pisowni (jeśli ma ustawioną wartość true dla edytowalnej zawartości) tak samo jak pole tekstowe, przynajmniej w Chrome.

JCOC611
źródło
1
+1 za sztuczkę „edytowalną treść ustawioną na true”, która jest prawdziwą sztuczką
AT
4

Poniższy fragment kodu wyłącza go dla wszystkich textareai input[type=text]elementów:

(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
źródło