Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript变量传递到嵌入式调查表单_Javascript_Urlvariables - Fatal编程技术网

将javascript变量传递到嵌入式调查表单

将javascript变量传递到嵌入式调查表单,javascript,urlvariables,Javascript,Urlvariables,我到处找了很多,但似乎找不到最好的方法来解决这个问题。如何将变量值(p1、p2、p3)输入到代码底部的URL中 我将以“+”格式的变量作为空格,将它们格式化为以“%20”作为空格;然后,将它们传递到该代码底部用于该嵌入字体的链接中 <script type="text/javascript">// <![CDATA[ function getParameterByName (name, url) { if (!url) url = window.location.href;

我到处找了很多,但似乎找不到最好的方法来解决这个问题。如何将变量值(p1、p2、p3)输入到代码底部的URL中

我将以“+”格式的变量作为空格,将它们格式化为以“%20”作为空格;然后,将它们传递到该代码底部用于该嵌入字体的链接中

<script type="text/javascript">// <![CDATA[
function getParameterByName (name, url) {
  if (!url) url = window.location.href;
  name = name.replace(/[\[\]]/g, "\\$&");
  var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  results = regex.exec(url);
  if (!results) return null;
  if (!results[2]) return '';
  return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var p1 = getParameterByName('p1')
var p2 = getParameterByName('p2')
var p3 = getParameterByName('p3')

p1 = p1.replace(/\+/g, "%20");
p2 = p2.replace(/\+/g, "%20");
p3 = p3.replace(/\+/g, "%20");
// ]]></script><script type="text/javascript">// <![CDATA[

function getParameterByName (name, url) {
  if (!url) url = window.location.href;
  name = name.replace(/[\[\]]/g, "\\$&");
  var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  results = regex.exec(url);
  if (!results) return null;
  if (!results[2]) return '';
  return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var p1 = getParameterByName('p1')
var p2 = getParameterByName('p2')
var p3 = getParameterByName('p3')

p1 = p1.replace(/\+/g, "%20");
p2 = p2.replace(/\+/g, "%20");
p3 = p3.replace(/\+/g, "%20");
// ]]></script>

<!-- Change the width and height values to suit you best -->
<div class="typeform-widget" 
     data-url="https://eatforklore.typeform.com/to/XPDPsx?p1=xxxxx&amp;p2=xxxxx&amp;p3=xxxxx&amp;p4=xxxxx" 
     data-text="Mo. 1 Product Reviews" 
     style="width:100%;height:500px;">
</div>
<script>
(function(){var qs,js,q,s,d=document,gi=d.getElementById,ce=d.createElement,gt=d.getElementsByTagName,id='typef_orm',b='https://s3-eu-west-1.amazonaws.com/share.typeform.com/';if(!gi.call(d,id)){js=ce.call(d,'script');js.id=id;js.src=b+'widget.js';q=gt.call(d,'script')[0];q.parentNode.insertBefore(js,q)}})()
</script>
///
(function(){var qs,js,q,s,d=document,gi=d.getElementById,ce=d.createElement,gt=d.getElementsByTagName,id='typeform',b='1〕https://s3-eu-west-1.amazonaws.com/share.typeform.com/';if(!gi.call(d,id)){js=ce.call(d,'script');js.id=id;js.src=b+'widget.js';q=gt.call(d,'script')[0];q.parentNode.insertBefore(js,q)}()

您的
getParameterByName
函数需要两个参数,但只提供一个。您应该使用
.dataset.url
传入
div的
数据url
属性

函数getParameterByName(名称、url){ 如果(!url)url=window.location.href; name=name.replace(/[\[\]]/g,\\$&); var regex=new RegExp(“[?&]”+name+”(=([^&#]*)和|#|$), 结果=regex.exec(url); 如果(!results)返回null; 如果(!results[2])返回“”; console.log(“+name+”的值为:“+results[2]。replace(/\+/g,”); 返回组件(结果[2]。替换(/\+/g,”); } var p1=getParameterByName('p1',document.getElementsByClassName('typeform-widget')[0]。dataset.url) var p2=getParameterByName('p2',document.getElementsByClassName('typeform-widget')[0]。dataset.url) var p3=getParameterByName('p3',document.getElementsByClassName('typeform-widget')[0]。dataset.url) p1=p1。替换(/\+/g,“%20”); p2=p2。替换(/\+/g,“%20”); p3=p3。替换(/\+/g,“%20”)
您的
getParameterByName
函数需要两个参数,但只提供一个。您应该使用
.dataset.url
传入
div的
数据url
属性

函数getParameterByName(名称、url){ 如果(!url)url=window.location.href; name=name.replace(/[\[\]]/g,\\$&); var regex=new RegExp(“[?&]”+name+”(=([^&#]*)和|#|$), 结果=regex.exec(url); 如果(!results)返回null; 如果(!results[2])返回“”; console.log(“+name+”的值为:“+results[2]。replace(/\+/g,”); 返回组件(结果[2]。替换(/\+/g,”); } var p1=getParameterByName('p1',document.getElementsByClassName('typeform-widget')[0]。dataset.url) var p2=getParameterByName('p2',document.getElementsByClassName('typeform-widget')[0]。dataset.url) var p3=getParameterByName('p3',document.getElementsByClassName('typeform-widget')[0]。dataset.url) p1=p1。替换(/\+/g,“%20”); p2=p2。替换(/\+/g,“%20”); p3=p3。替换(/\+/g,“%20”)


您的p1、p2和p3是否返回意外值,还是您只需要知道如何更新标记的url属性?我想我只是在尝试更新标记的url属性。我想我不明白如何从javascript中获取变量,然后在html中使用它。我需要做什么才能打电话吗?然后,是的,将其放在url propertydocument.querySelector(“.typeform小部件”).dataset.url=urlVariable中;您的p1、p2和p3是否返回意外值,或者您是否只需要知道如何更新标记的url属性?我想我只是在尝试更新标记的url属性。我想我不明白如何从javascript中获取变量,然后在html中使用它。我需要做什么才能打电话吗?然后,是的,将其放在url propertydocument.querySelector(“.typeform小部件”).dataset.url=urlVariable中;