Deshabilitar la corrección ortográfica en los campos de texto HTML


286

¿Puedo de alguna manera deshabilitar la corrección ortográfica en los campos de texto HTML (como se ve en, por ejemplo, Safari)?

Respuestas:


420

Actualización : Según lo sugerido por un comentarista (crédito adicional a ¿Cómo puedo deshabilitar el corrector ortográfico en las entradas de texto en el iPhone? ), Use esto para manejar todos los navegadores de escritorio y móviles.

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

Respuesta original: Javascript no puede anular la configuración del usuario, por lo tanto, a menos que use otro mecanismo que no sea los campos de texto, esto no es (o no debería ser) posible.


44
¿Por qué se ha aceptado esto? no tiene sentido porque puede anular la configuración de los usuarios si el navegador lo permite. ver la respuesta de ms2ger.
usr

1
Solo porque era la mejor respuesta en ese momento. Supongo que Michiel no ha vuelto y ha marcado el otro como correcto. Eso estaría bien conmigo ya que es una mejor respuesta.
Eric Wendelin

2
Importante tener en cuenta la compatibilidad del navegador: Mobile Safari (iOS) no respeta
radicando

3
stackoverflow.com/questions/3416867/… tiene la respuesta correcta a esto ( autocorrect="off") para Mobile Safari - spellcheck=no funciona
Chris S

1
debe estar autoComplete = "off" autoCorrect = "off" autoCapitalize = "off" spellCheck = "false"
zaman

208

Sí, use spellcheck="false", como lo define HTML5 , por ejemplo:

<textarea spellcheck="false">
    ...
</textarea>

1
MDN tiene una tabla que muestra el valor predeterminado de la corrección ortográfica para diferentes navegadores y elementos: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul

2
Recibo un error "Corrector ortográfico de propiedad DOM desconocido. ¿Quisiste decir corrector ortográfico?" Usar spellCheckparece satisfacerlo. Podría ser una cosa de reacción.
Shanimal

3
@Shanimal Sí, reaccionar utiliza camel-case para los atributos DOM. Ver reactjs.org/docs/introducing-jsx.html
sookie

13

Para Grammarly puedes usar:

<textarea data-gramm="false" />

7

Un IFrame "activará" el corrector ortográfico (si tiene contenido editable configurado como verdadero) como un campo de texto, al menos en Chrome.


1
1 para el "conjunto de contenido editable en true" truco ese es el verdadero truco
AT

4

El siguiente fragmento de código lo desactiva para todos textareay todos los input[type=text]elementos:

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

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

    disableSpellCheck();
})();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.