FROM CACHE - nl_header
Deze community is overgestapt naar peer-to-peer ondersteuning. Shopify Support zal deze community niet langer ondersteunen. We raden je aan om contact op te nemen met andere merchants en partners voor hulp en om je ervaringen te delen! Blijf alles melden dat in strijd is met onze Gedragscode of content die je verwijderd wilt hebben.

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

ElliotM
Shopify Partner
8 0 0

Hello there,

 

My script is not executing in the console when loading my page in Shopify.

 

Schermafbeelding 2023-03-10 om 23.49.56.png

 

This is the HTML

 

     <div class="formdomain">
         <form action="" method="post" id="domainCheck">
    <h3 style="font-size: 21px; color: black;">Kies je eigen domeinnaam</h3>
    <p style="margin-top: 5px; color: #666666;">Vul de door jouw gekozen domeinnaam hieronder in, deze wordt bevestigd zodra je een product aan je winkelmandje toevoegt.</p>
    <div style="margin-top:15px;">
    <form id="form" method="POST">
    <p class="line-item-property__field">
    <div class="input-wrapper">
    <input id="custom-text" type="text" name="customUrl" placeholder="Domeinnaam">
    <p style="font-weight:600; display:block; margin-top:15px;">example.app/domeinnaam</p>
    </div>
    <button id="AddButtonAPI" disabled>Toevoegen aan winkelwagen</button>
  </form>
  </div>
    <span id="domainAvailable">Typ een domeinnaam in om de beschikbaarheid te testen</span>
          </div>

This is the Javascript

 

const domainForm = document.getElementById('domainCheck');
      async function checkDomain(customUrl) {
      const formData = new FormData(domainForm)
      var appDomain = document.getElementById("domainAvailable");
      const response = await fetch( "https://example/api/checkCustomUrl", {
        method: 'POST',
        body: JSON.stringify({ customUrl: customUrl }),
        headers: {
          'Content-type': 'application/json',
          'Accept': 'application/json',
        }
      });
      return response.json();
      }
  let person = {
    exists: 'true',
    exists: 'false'
  };
    domainForm.addEventListener('change', (e) => {
      checkDomain(e.target.value)
      .then((response) => {
        if(response.exists == 'true'){
            console.log(response);
            document.getElementById("domainAvailable").innerHTML = "Domain is not free";
            document.getElementById("AddButtonAPI").disabled = true;
        } else if(response.exists == 'false'){
            console.log(response);
            document.getElementById("domainAvailable").innerHTML = "Domain is free";
            document.getElementById("AddButtonAPI").disabled = false;
        }
      })
    });

Does anyone knows why the script is not executing?

 

If i load the html file in my browser it works fine, in Shopify the console error keeps popping up and the function is not working.

 

Thanks alot!

0 ANTWOORDEN 0