Estoy usando google recaptcha con mi proyecto django. Pero no es inglés. Entonces quiero cambiar su escritura con javascript.
html
{% extends 'base.html' %} {% block content %} <div class="form-body"> <div class="row"> <div class="form-holder"> <div class="form-content"> <div class="form-items"> <h1>Registration</h1> <br><br> <form class="requires-validation" method="POST" novalidate> {% csrf_token %} {{form.as_p}} <div class="form-button"> <button id="submit" type="submit" class="btn btn-primary">Register</button> </div> </form> </div> </div> </div> </div> </div> <script type="text/javascript"> document.querySelector('#recaptcha-anchor-label').innerHTML = "I'm not a robot"; </script> {% endblock %}Después de hacer eso, no aplicará el html en el navegador. Debajo del mensaje de error:
No se pueden establecer propiedades de nulo (configurando 'innerHTML')
(recaptcha-achor-label es una identificación)
El problema es que no se puede encontrar ningún elemento con la siguiente declaración.
document.querySelector('recaptcha-anchor-label') En caso de que recaptcha-anchor-label sea una id , debe usar un # delante de ella.
document.querySelector('#recaptcha-anchor-label')Este problema debe ser causado por 'recaptcha-anchor-label', verifique si 'recaptcha-anchor-label' es "clase" o "id", si es clase, agregue "." antes. Si es una clase, agregue "#" antes.
p.ej:
document.querySelector('.recaptcha-anchor-label').innerHTML = "I'm not a robot";o
document.querySelector('#recaptcha-anchor-label').innerHTML = "I'm not a robot";Si aún enfrenta el error. Así que prueba esto El navegador siempre carga todo el HTML DOM de arriba a abajo. Cualquier código JavaScript escrito dentro de las etiquetas del script (presente en la sección principal de su archivo HTML) es ejecutado por el motor de renderizado del navegador incluso antes de que se cargue todo su DOM (diversas etiquetas de elementos HTML presentes dentro de la etiqueta del cuerpo). Los scripts presentes en la etiqueta principal intentan acceder a un elemento que tiene id hola incluso antes de que se haya representado en el DOM. Entonces, obviamente, JavaScript no pudo ver el elemento y, por lo tanto, terminas viendo el error de referencia nula.
Así que mueva la etiqueta del script después de todos los elementos DOM, es decir, en la parte inferior donde termina la etiqueta del cuerpo.