将javascript变量传递到嵌入式调查表单
我到处找了很多,但似乎找不到最好的方法来解决这个问题。如何将变量值(p1、p2、p3)输入到代码底部的URL中 我将以“+”格式的变量作为空格,将它们格式化为以“%20”作为空格;然后,将它们传递到该代码底部用于该嵌入字体的链接中将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;
<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&p2=xxxxx&p3=xxxxx&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中;