如何使用 Javascript 使用 URL 参数填充嵌入式网站表单?



我在Squarespace网站上嵌入了一个Zoho表单,我需要在Javescript中使用URL参数填充一些字段。我使用以下代码来获取参数:

<script>       function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
</script>

然后将参数设置为变量:

var campaign1 = getUrlVars()["campaign"];
alert(campaign1);

因此,这会在 url 中获取名为"campaign"的参数并将其分配给"campaign1"。警报只是为了表明它正在工作,而且确实如此。然后我想运行这个:

<script type="text/javascript" src="https://forms.zohopublic.com/....j7Q?campaign="+campaign1 id="ZFScript">  alert(campaign1); </script>

但是无论我做什么,我都无法让该部分引用"src="部分中的变量,但我可以在"alert(campaign1(;"中立即引用它。

我也尝试了这个,这意味着将整个 URL 保存到名为"site"的变量中,然后只运行"src=site",但这也没有用。

<script>       function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
var campaign1 = getUrlVars()["campaign"];
var site = "https://forms.zohopublic.com....j7Q?campaign="+campaign1
</script>
<script type="text/javascript"
src=site id="ZFScript"> alert(site);</script>

您的问题是您正在尝试编写一些未解析/渲染/执行的 js 代码。

js 代码将在<script>标签或onEvent属性中执行。例如点击加载

因此,您要做的是在脚本标记中执行一些js代码,该代码将生成具有您尝试实现的动态src属性的脚本标记。这是一种方法:

<script type="text/javascript">
// [...]
var campaign1 = getUrlVars()["campaign"];
var site = "https://forms.zohopublic.com....j7Q?campaign="+campaign1;
// create a script node
var scriptElement = document.createElement('script');
// set its src attribute
scriptElement.setAttribute('src', site);
// add you new script node to your document
document.body.appendChild(scriptElement);
</script>

最新更新