(I) Click Inquire button open Popup – Pre Fill title

<script>
(function() {
  console.log("Script initialized");

  function addInquireButtons() {
    console.log("Adding Inquire buttons...");
    var wrappers = document.querySelectorAll('.sqs-add-to-cart-button-wrapper');
    console.log("Found " + wrappers.length + " wrappers");

    wrappers.forEach(function(wrapper) {
      if (!wrapper.querySelector('.second-button')) {
        var inquireButton = document.createElement('a');
        inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
        inquireButton.href = '#wm-popup=/contact#block-02c12286a51774064037';
        inquireButton.textContent = 'Inquire';

        wrapper.appendChild(inquireButton);
        console.log("Inquire button added to wrapper");
      }
    });
  }

  function setupFormFieldAutofill() {
    console.log("Setting up form field autofill");
    document.addEventListener('wmPopup:afterOpenPopup', function(event) {
      console.log("wmPopup:afterOpenPopup event fired:", event.detail);

      var url = event.detail && event.detail.url ? event.detail.url : '';
      if (url.includes('/contact')) {
        console.log("Contact popup detected");

        setTimeout(function() {
          const productTitleField = document.querySelector('input#text-1abb1f2f-b802-45bc-b1dc-eaf7752e799c-field');

          if (productTitleField) {
            console.log("Found product title field");
            const pageTitle = document.title;
            console.log("Page title:", pageTitle);

            const triggerInputChange = (inputElement, value) => {
              const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
                window.HTMLInputElement.prototype, "value"
              ).set;
              nativeInputValueSetter.call(inputElement, value);
              const inputEvent = new Event("input", { bubbles: true });
              inputElement.dispatchEvent(inputEvent);
            };

            triggerInputChange(productTitleField, pageTitle);
            console.log("Set product title field value to:", pageTitle);

            const form = productTitleField.closest('form');
            if (form) {
              form.addEventListener('input', () => {
                setTimeout(() => {
                  if (!productTitleField.value) {
                    triggerInputChange(productTitleField, pageTitle);
                  }
                }, 10);
              });

              form.addEventListener('submit', () => {
                if (!productTitleField.value) {
                  triggerInputChange(productTitleField, pageTitle);
                }
              });
              console.log("Added form event listeners");
            }
          } else {
            console.log("Product title field not found");
          }
        }, 800);
      }
    });
  }

  function initializeAfterSectionLoader() {
    console.log("Waiting for Section Loader...");

    document.addEventListener('wmSectionLoader:afterInit', function() {
      console.log("Section Loader completed - initializing buttons");
      addInquireButtons();
    });

    document.addEventListener('wmSectionLoader:ready', function() {
      console.log("Section Loader ready - initializing buttons");
      addInquireButtons();
    });

    // Run immediately too
    addInquireButtons();
  }

  setupFormFieldAutofill();

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initializeAfterSectionLoader);
  } else {
    initializeAfterSectionLoader();
  }

  window.addEventListener('load', function() {
    console.log("Window loaded - adding buttons as fallback");
    setTimeout(addInquireButtons, 1000);
  });
})();
</script>

Update new code – 31-01-2026

Header

<!-- Not Linked Page to Product Detail -->
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/toolkit@1/index.min.js"></script>
<link href="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.css" rel="stylesheet">
<!-- Enquire Button to Form Popup -->
<link href="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.css" rel="stylesheet">
<!-- END Enquire Button to Form Popup -->

Footer (Code này get thẻ <title>)

<script src="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<!-- Enquire Button to Form Popup -->
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<script>
(function() {
  'use strict';
  
  function ensureFormDefinitions() {
    const loader = window.websiteComponents?.loader;
    if (loader) {
      loader.importMap = loader.importMap || {};
      loader.importMap['website.components.form.visitor'] = 
        'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
      loader.importMap['website.components.form.handlers'] = 
        'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
      return true;
    }
    return false;
  }
  
  if (!ensureFormDefinitions()) {
    const checkInterval = setInterval(function() {
      if (ensureFormDefinitions()) {
        clearInterval(checkInterval);
      }
    }, 50);
    
    setTimeout(function() {
      clearInterval(checkInterval);
    }, 5000);
  }
  
  document.addEventListener('DOMContentLoaded', ensureFormDefinitions);
})();
</script>

<script>
(function() {
  'use strict';
  
  document.addEventListener('wmPopup:afterOpenPopup', function(event) {
    const popupUrl = event.detail?.url;
    
    if (popupUrl === '/enquire-form') {
      setTimeout(function() {
        const formBlock = document.querySelector('.wm-popup-content [data-block-type="1337"]');
        
        if (formBlock) {
          const loader = window.websiteComponents?.loader;
          if (loader) {
            loader.importMap = loader.importMap || {};
            loader.importMap['website.components.form.visitor'] = 
              'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
            loader.importMap['website.components.form.handlers'] = 
              'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
          }
          
          if (window.Squarespace && window.Y) {
            try {
              const formNode = window.Y.one(formBlock);
              if (window.Squarespace.initializeForm) {
                window.Squarespace.initializeForm(window.Y, formNode);
              }
            } catch (error) {}
          }
          
          const productTitle = document.title;
          const productURL = window.location.href;
          let attempts = 0;
          const maxAttempts = 15;
          
          function tryPrefill() {
            attempts++;
            
            const productNameField = document.querySelector('.wm-popup-content input[placeholder="Product Name"]');
            const productURLField = document.querySelector('.wm-popup-content input[placeholder="Product URL"]');
            
            if (productNameField && productURLField) {
              const setValue = (field, val) => {
                field.value = val;
                
                try {
                  const setter = Object.getOwnPropertyDescriptor(
                    window.HTMLInputElement.prototype,
                    "value"
                  ).set;
                  setter.call(field, val);
                } catch (e) {}
                
                field.dispatchEvent(new Event('input', { bubbles: true }));
                field.dispatchEvent(new Event('change', { bubbles: true }));
                field.dispatchEvent(new Event('blur', { bubbles: true }));
                
                const tracker = field._valueTracker;
                if (tracker) {
                  tracker.setValue('');
                }
                field.dispatchEvent(new Event('input', { bubbles: true }));
              };
              
              setValue(productNameField, productTitle);
              setValue(productURLField, productURL);
              
              setTimeout(function() {
                if (productNameField.value !== productTitle) {
                  setValue(productNameField, productTitle);
                }
                if (productURLField.value !== productURL) {
                  setValue(productURLField, productURL);
                }
              }, 150);
              
              const form = productNameField.closest('form');
              if (form && !form.dataset.prefillMonitoring) {
                form.dataset.prefillMonitoring = 'true';
                
                form.addEventListener('input', function() {
                  setTimeout(function() {
                    if (!productNameField.value) {
                      setValue(productNameField, productTitle);
                    }
                    if (!productURLField.value) {
                      setValue(productURLField, productURL);
                    }
                  }, 10);
                }, true);
                
                form.addEventListener('submit', function() {
                  if (!productNameField.value) {
                    setValue(productNameField, productTitle);
                  }
                  if (!productURLField.value) {
                    setValue(productURLField, productURL);
                  }
                }, true);
              }
              
            } else {
              if (attempts < maxAttempts) {
                setTimeout(tryPrefill, 400);
              }
            }
          }
          
          setTimeout(tryPrefill, 1000);
        }
      }, 300);
    }
  });
})();
</script>

<script>
(function() {
  'use strict';
  
  function addInquireButtons() {
    var containers = document.querySelectorAll('.tag-no-cart .product-add-to-cart');
    
    containers.forEach(function(container) {
      if (container.querySelector('.second-button')) {
        return;
      }
      
      var inquireButton = document.createElement('a');
      inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
      inquireButton.href = '#wm-popup=/enquire-form#block-yui_3_17_2_1_1769844948133_494';
      inquireButton.textContent = 'Inquire';
      container.appendChild(inquireButton);
    });
  }
  
  addInquireButtons();
  
  window.addEventListener("load", function() {
    addInquireButtons();
  });
  
  if (window.MutationObserver) {
    var observer = new MutationObserver(function(mutations) {
      var shouldCheck = false;
      mutations.forEach(function(mutation) {
        mutation.addedNodes.forEach(function(node) {
          if (node.nodeType === 1 && node.querySelector) {
            if (node.querySelector('.product-add-to-cart') || 
                node.classList.contains('product-add-to-cart')) {
              shouldCheck = true;
            }
          }
        });
      });
      
      if (shouldCheck) {
        addInquireButtons();
      }
    });
    
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });
  }
})();
</script>
<!-- END Enquire Button to Form Popup -->

Code này get h1.product-title

<script src="https://cdn.jsdelivr.net/gh/willmyerscode/section-loader@3/section-loader.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/willmyerscode/popup@v6/popup.min.js"></script>
<script>
(function() {
  'use strict';
  
  function ensureFormDefinitions() {
    const loader = window.websiteComponents?.loader;
    if (loader) {
      loader.importMap = loader.importMap || {};
      loader.importMap['website.components.form.visitor'] = 
        'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
      loader.importMap['website.components.form.handlers'] = 
        'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
      return true;
    }
    return false;
  }
  
  if (!ensureFormDefinitions()) {
    const checkInterval = setInterval(function() {
      if (ensureFormDefinitions()) {
        clearInterval(checkInterval);
      }
    }, 50);
    
    setTimeout(function() {
      clearInterval(checkInterval);
    }, 5000);
  }
  
  document.addEventListener('DOMContentLoaded', ensureFormDefinitions);
})();
</script>

<script>
(function() {
  'use strict';
  
  document.addEventListener('wmPopup:afterOpenPopup', function(event) {
    const popupUrl = event.detail?.url;
    
    if (popupUrl === '/enquire-form') {
      setTimeout(function() {
        const formBlock = document.querySelector('.wm-popup-content [data-block-type="1337"]');
        
        if (formBlock) {
          const loader = window.websiteComponents?.loader;
          if (loader) {
            loader.importMap = loader.importMap || {};
            loader.importMap['website.components.form.visitor'] = 
              'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.visitor.js';
            loader.importMap['website.components.form.handlers'] = 
              'https://definitions.sqspcdn.com/website-component-definition/static-assets/website.components.form/bcc7f8cc-f48a-4382-8ac1-0e23afb7c292_310/website.components.form.handlers.js';
          }
          
          if (window.Squarespace && window.Y) {
            try {
              const formNode = window.Y.one(formBlock);
              if (window.Squarespace.initializeForm) {
                window.Squarespace.initializeForm(window.Y, formNode);
              }
            } catch (error) {}
          }
          
          const productTitleElement = document.querySelector('h1.product-title');
          const productTitle = productTitleElement ? productTitleElement.textContent.trim() : document.title;
          const productURL = window.location.href;
          let attempts = 0;
          const maxAttempts = 15;
          
          function tryPrefill() {
            attempts++;
            
            const productNameField = document.querySelector('.wm-popup-content input[placeholder="Product Name"]');
            const productURLField = document.querySelector('.wm-popup-content input[placeholder="Product URL"]');
            
            if (productNameField && productURLField) {
              const setValue = (field, val) => {
                field.value = val;
                
                try {
                  const setter = Object.getOwnPropertyDescriptor(
                    window.HTMLInputElement.prototype,
                    "value"
                  ).set;
                  setter.call(field, val);
                } catch (e) {}
                
                field.dispatchEvent(new Event('input', { bubbles: true }));
                field.dispatchEvent(new Event('change', { bubbles: true }));
                field.dispatchEvent(new Event('blur', { bubbles: true }));
                
                const tracker = field._valueTracker;
                if (tracker) {
                  tracker.setValue('');
                }
                field.dispatchEvent(new Event('input', { bubbles: true }));
              };
              
              setValue(productNameField, productTitle);
              setValue(productURLField, productURL);
              
              setTimeout(function() {
                if (productNameField.value !== productTitle) {
                  setValue(productNameField, productTitle);
                }
                if (productURLField.value !== productURL) {
                  setValue(productURLField, productURL);
                }
              }, 150);
              
              const form = productNameField.closest('form');
              if (form && !form.dataset.prefillMonitoring) {
                form.dataset.prefillMonitoring = 'true';
                
                form.addEventListener('input', function() {
                  setTimeout(function() {
                    if (!productNameField.value) {
                      setValue(productNameField, productTitle);
                    }
                    if (!productURLField.value) {
                      setValue(productURLField, productURL);
                    }
                  }, 10);
                }, true);
                
                form.addEventListener('submit', function() {
                  if (!productNameField.value) {
                    setValue(productNameField, productTitle);
                  }
                  if (!productURLField.value) {
                    setValue(productURLField, productURL);
                  }
                }, true);
              }
              
            } else {
              if (attempts < maxAttempts) {
                setTimeout(tryPrefill, 400);
              }
            }
          }
          
          setTimeout(tryPrefill, 1000);
        }
      }, 300);
    }
  });
})();
</script>

<script>
(function() {
  'use strict';
  
  function addInquireButtons() {
    var containers = document.querySelectorAll('.tag-no-cart .product-add-to-cart');
    
    containers.forEach(function(container) {
      if (container.querySelector('.second-button')) {
        return;
      }
      
      var inquireButton = document.createElement('a');
      inquireButton.className = 'btn btn--border theme-btn--primary-inverse sqs-button-element--primary second-button';
      inquireButton.href = '#wm-popup=/enquire-form#block-yui_3_17_2_1_1769844948133_494';
      inquireButton.textContent = 'Inquire';
      container.appendChild(inquireButton);
    });
  }
  
  addInquireButtons();
  
  window.addEventListener("load", function() {
    addInquireButtons();
  });
  
  if (window.MutationObserver) {
    var observer = new MutationObserver(function(mutations) {
      var shouldCheck = false;
      mutations.forEach(function(mutation) {
        mutation.addedNodes.forEach(function(node) {
          if (node.nodeType === 1 && node.querySelector) {
            if (node.querySelector('.product-add-to-cart') || 
                node.classList.contains('product-add-to-cart')) {
              shouldCheck = true;
            }
          }
        });
      });
      
      if (shouldCheck) {
        addInquireButtons();
      }
    });
    
    observer.observe(document.body, {
      childList: true,
      subtree: true
    });
  }
})();
</script>

 

Buy me a coffee