基于URL参数的动态文本

时间:2018-07-26 10:04:11

标签: html dynamic parameters

我正在Instapage上建立一个网站,并且主页上有一个包含两个字段的表格:State&Practice Area。访客提交选择后,他将被重定向到另一个带有“区域”和“州”作为URL参数的页面。

到目前为止,一切都很好,但是现在我想在页面上写一个段落,让我们说“ [state]中的[practice area]”,其中的括号将包含来自URL参数的相应信息。我猜这将是一个简单的HTML代码,用我对URL的描述替换我正在编写的段落中的参数名称。

如果URL中没有参数,我也希望有一个默认文本。

请清楚一点,我试图在同一段落中完成所有操作,因此大部分段落保持不变,并且其中的几个单词会根据参数而改变(或具有默认值值(如果没有参数)。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您的网址是这样的:

[协议]:// [主机名] / [州] / [实践区域]

您可以像这样获得statepractice

let state = window.location.pathname.split('/')[1] || 'your default value for state'

let practiceArea = window.location.pathname.split('/')[2] || 'your default value for practice area'

p = document.getElementById('text')

p.innerText = `${state} in ${practiceArea}`
<p id='text'></p>

更新

如果您的网址是这样的:

“ [协议]:// [主机名] /?state = statevalue&practiceArea = practiceValue”

您可以像这样获得statepractice

var urlParams = new URLSearchParams(window.location.search)

let state = urlParams.get('state') || 'your default value for state'

let practiceArea = urlParams.get('practiceArea') || 'your default value for practice area'

let p = document.getElementById('text')

p.innerText = `${state} in ${practiceArea}`
<p id='text'></p>