简体   繁体   English

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

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

I have a Zoho form embedded on a Squarespace site and I need to populate some fields with URL parameters in Javescript. 我在Squarespace网站上嵌入了一个Zoho表单,我需要在Javescript中使用URL参数填充某些字段。 I'm using the following code to get the parameters: 我正在使用以下代码来获取参数:

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

and then to set the parameters to variables: 然后将参数设置为变量:

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

So that gets the parameter named 'campaign' in the url and assigns it to 'campaign1'. 这样就可以在网址中获取名为“ campaign”的参数,并将其分配给“ campaign1”。 The alert is just to show that it is working, and it is. 该警报只是为了表明它正在工作,而且确实如此。 Then I want to run this: 然后我要运行此命令:

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

But no matter what I do I can't get that part to reference the variable in the 'src=' section, but I can reference it in the 'alert(campaign1);' 但是无论做什么,我都无法在“ src =”部分中引用该变量,但可以在“ alert(campaign1);”中引用它。 immediately after. 之后立马。

I also tried this, which was meant to save the whole URL to a variable named 'site' and just run 'src=site', but that didn't work either. 我也尝试过这样做,这是为了将整个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>

Your issue is that you are trying to write some js code where it is not parsed/rendered/executed. 您的问题是您试图编写一些未解析/渲染/执行的js代码。

The js code will be executed inside <script> tags or onEvent attributes. js代码将在<script>标记或onEvent属性内执行。 For instance onclick or onload . 例如onclickonload

So what you want to do is execute some js code inside a script tag that will generate a script tag with the dynamic src attribute you are trying to achieve. 因此,您要做的是在script标记内执行一些js代码,该代码将生成具有您要实现的动态src属性的script标记。 This is a way of doing it: 这是一种实现方法:

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

相关问题 如何使用嵌入式Javascript(EJS)获取“获取/发布URL”参数? - How can you obtain Get / Post URL parameters using Embedded Javascript (EJS)? 用从 URL 参数中提取的数据填充表单字段的 Javascript - Javascript to populate a form field with data extracted from URL Parameters 如何从 JavaScript 中的元素列表填充表单字段? - How can I populate a form field from a list of elements in JavaScript? 如何从字符串中获取带有表单参数的 url? - how can i get a url with form parameters from a string? 视频在我的网站上使用 javascript 结束后如何显示联系表? - How can I display a contact form after a video ends on my website using javascript? 我如何根据URL中的参数填充我的搜索字段 - how i can populate my search fields based on the parameters inside the URL 如何使用URL参数填充空白值而不是“ undefined”的字段? - How do I populate fields with a blank value instead of “undefined” using URL Parameters? 如何使用 JavaScript 创建和填充 HTML 表格 - How can I create and populate an HTML table using JavaScript 如何使用 javascript 填充由 Django 创建的 HTML 表? - How can I populate an HTML table created by Django using javascript? 如何使用JavaScript使用按钮填充表单列表 - How to populate a form list with buttons using javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM