es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

document.getElementById.value nuevo fallo

Quiero crear un relleno automático de tarjeta de crédito para páginas de Shopify.
Mi plan era rellenar el campo de entrada de número de tarjeta (por ejemplo) con document.getElementById(‘number’).value = 12355444;

He hecho dos observaciones:
1.) Si lo escribo en la consola, no sucede nada hasta que haga clic derecho en el campo de entrada específico y presione inspeccionar. Después de inspeccionar y ejecutar en la consola del navegador, el campo de entrada se llenará. Pero, ¿por qué tengo que inspeccionar el campo primero?

2.) Si ejecuto document.getElementById(‘number’).value = 12355444; en mi pequeña extensión de Chrome, obtengo el error: Uncaught TypeError: Cannot set properties of null (setting ‘value’)
at :1:53

¿Cómo puedo hacer que funcione?, parece que no puedo acceder o no encuentra las ID de los formularios de entrada.

Si quieres probarlo, toma por ejemplo: https://newtonsupplyco.com/ carrito algo y continúa hasta el pago.

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en javascript, DOM y documentos, puedo sugerir las siguientes soluciones a las observaciones mencionadas:

    1. Según la observación, parece que el campo de entrada no se carga en el DOM hasta que se inspecciona. Por lo tanto, el código javascript no puede encontrar el campo de entrada utilizando el método getElementById. Para solucionar este problema, puede intentar agregar una espera antes de ejecutar el script para dar suficiente tiempo para que el campo de entrada se cargue en el DOM. Puede usar el método setTimeout para lograr esto, por ejemplo:
      setTimeout(function () {
         document.getElementById('number').value = 12355444;
      }, 2000); // retardo de 2000ms
      

      Aquí, el script esperará 2 segundos antes de ejecutar y actualizar el valor del campo de entrada con ID ‘number’. Puede ajustar el tiempo de espera según sus requisitos.

    2. El mensaje de error “Uncaught TypeError: Cannot set properties of null (setting ‘value’)” indica que el método getElementById no puede encontrar el campo de entrada con ID ‘number’. Esto podría ser debido a dos razones:

    • El campo de entrada aún no se ha cargado en el DOM.
    • La ID del campo de entrada es diferente de ‘number’.

      Para solucionar este problema, puede intentar agregar el método setTimeout mencionado anteriormente para dar suficiente tiempo para que el campo de entrada se cargue en el DOM. Si la ID del campo de entrada es diferente, puede actualizar el script en consecuencia.

      Además, asegúrese de tener los permisos necesarios para acceder al campo de entrada desde la extensión de Chrome.

    Espero que estas soluciones lo ayuden a crear un autofill de tarjeta de crédito para páginas de Shopify. Si tiene más preguntas, no dude en preguntar.

Comments are closed.