【发布时间】:2020-03-25 14:08:56
【问题描述】:
我编写这个 js 是为了从 select 语句中提取值来构建一个用户将被发送到的链接。问题是我将它与 Shopify 一起使用,产品存储在
/products/handle
并且 Shopify 使用 '-' 替换 '.'在链接中。
我尝试了许多不同的方法来使用替换函数,将它用于单个字符实例,将新值存储在不同命名的变量中,并尝试在构建链接时执行替换。
myForm.addEventListener('submit', function(e){
e.preventDefault();
var val1 = document.getElementById("shortSide").value;
var val2 = document.getElementById("longSide").value;
var val3 = document.getElementById("widthSide").value;
var hyph = '-';
if(val1 != "default" && val2 != "default" && val2 != "Long Side" && val3 != "default" && val3 != "Width")
window.location.href = "/products/" + val1.replace(/\./g,hyph) + "x" + val2.replace(/\./g,hyph) + "x" + val3;
else
alert("Fill out everything please!");
}, false)
如果变量包含
var1 = '16.88'
var2 = '25.25'
var3 = '1'
预期的输出是
/products/16-88x25-25x1
但实际输出是
/products/16.88x25.25x1
【问题讨论】:
-
我已经更新了代码以包含反斜杠,但它仍然不起作用。即使不使用正则表达式,该语句也不起作用,即 ('.' , hyph)
标签: javascript shopify