javascript - 为什么 JS 字符限制会在 Safari 中被打破?

标签 javascript forms input character character-limit

我正在使用 JS 对输入进行一些字符限制(因为在 Shopify 上没有任何其他方法可以做到这一点)并且它在 FF 和 Chrome 中运行良好但在 Safari 中我收到以下错误:

SyntaxError: The string did not match the expected pattern.

指的是下面form:中的定义

document.addEventListener('DOMContentLoaded', function () {
var shippingAddressEl = document.querySelector('.section--shipping-address')
if (shippingAddressEl) {
  var formValidation = {
    els: {
      el: shippingAddressEl,
      form: {
        firstname: shippingAddressEl.querySelector('input[name="checkout[shipping_address][first_name]"]:not([data-honeypot="true"]'),
        lastname: shippingAddressEl.querySelector('input[name="checkout[shipping_address][last_name]"]:not([data-honeypot="true"]'),
        company: shippingAddressEl.querySelector('input[name="checkout[shipping_address][company]"]:not([data-honeypot="true"]'),
        addressLine1: shippingAddressEl.querySelector('input[name="checkout[shipping_address][address1]"]:not([data-honeypot="true"]'),
        addressLine2: shippingAddressEl.querySelector('input[name="checkout[shipping_address][address2]"]:not([data-honeypot="true"]'),
        city: shippingAddressEl.querySelector('input[name="checkout[shipping_address][city]"]:not([data-honeypot="true"]'),
        postcode: shippingAddressEl.querySelector('input[name="checkout[shipping_address][zip]"]:not([data-honeypot="true"]'),
        phone: shippingAddressEl.querySelector('input[name="checkout[shipping_address][phone]"]:not([data-honeypot="true"]')
      }
    }
  }
});

如何修复这个错误?

最佳答案

编辑:我发现了原因:

form 对象中的几乎每个值都缺少 ):

城市:shippingAddressEl.querySelector('input[name="checkout[shipping_address][city]"]:not([data-honeypot="true"]'),

关于javascript - 为什么 JS 字符限制会在 Safari 中被打破?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50116845/

相关文章:

java - html + Java |从输入类型 ="time"接收 0

javascript - 使用 python 从输入字段复制文本并将其保存到变量中

javascript - 如何捕获 PhantomJS 获取的页面中生成的 JavaScript 错误?

javascript - 如何在 Chrome 分析/性能选项卡中阅读评估脚本时间

PHP - 如何在表单提交后保留文本框数组的值?

java - 比较用户输入

C++如何在不破坏程序的情况下输入用户值

javascript - 如何在模板中显示 hasMany 模型属性

php - 具有嵌入式表单处理功能的单页 Facebook 应用程序 - 签名请求问题

php - 阻止 PHP 在 $_POST 超全局中创建数组