繁体   English   中英

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

[英]How can I populate an embedded website form with URL parameters using Javascript?

我在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);

这样就可以在网址中获取名为“ 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属性内执行。 例如onclickonload

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

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM