【问题标题】:Using JavaScript to add/append a query string to URL使用 JavaScript 将查询字符串添加/附加到 URL
【发布时间】:2016-07-10 14:05:02
【问题描述】:

我使用 DNN CMS 平台,并正在使用一个名为 ActionForm 的模块从一家名为 DNNSharp 的公司创建表单。

此模块中有一个选项可在弹出窗口中显示表单,但是我无法使用此方法将查询字符串传递给弹出 URL。

HTML 看起来像这样

<a href="javascript: showFormPopup1163();">Link Title</a>

现在,当我将 ?mystring=[mytoken] 添加到 href 属性的末尾时,它会停止链接工作。

根据我的阅读,我认为可以使用 JavaScript 将该查询字符串添加到弹出 URL。

我已阅读以下主题,但不知道这是否适合我的情况或如何实施?

Add Query-String parameter to static link on click

我是否只需将该代码添加到我的 html 代码中的标签中?

我非常感谢任何人可以通过我的方式提供的任何见解。 非常感谢, 亚历克斯

【问题讨论】:

  • 您的锚点执行一个名为showFormPopup1163 的javascript 函数,向其中添加任何内容都不起作用,您必须弄清楚该函数的作用以及它如何重定向,并将查询字符串添加到其中。
  • @adeneo 感谢您的输入,我无法访问用于创建表单的模块的源代码。我一直在寻找一个外部解决方案,我可能会以其他方式注入或实施。

标签: javascript asp.net dotnetnuke-module dotnetnuke-7


【解决方案1】:

我使用History.js 来做这个

不确定ActionForms是否有允许你包含外部脚本的设置,但如果你可以注册history.js,你可以这样做:

var qsParams = '?mystring=[mytoken]';
var data = '{ mystring: [mytoken] }';
var title = 'Form with token: [mytoken]';
History.pushState(data, title, qsParams);

这将在不重新发布页面的情况下更改 url,并且还将允许浏览器后退按钮返回到以前的 url 而无需更改查询字符串。

【讨论】:

  • 感谢您的回答,我将尝试查找一些有关 History.js 以及如何安装的视频,我想我会将注册码添加到我的 acsx 皮肤中文件?谢谢
  • Alex,你可以在你的皮肤页面注册,也可以在模块的模块设置 > 高级设置 > Header 字段中添加脚本注册标签。
  • 我已经从 github 下载了 history.js 文件,并且有一个名为 scripts 的文件夹,其中包含捆绑的、捆绑的未压缩的、压缩的和未压缩的。在这些 HTML5 或 HTML4+5 中应该使用 & 哪个? (我猜是 HTML5)dojo.history.js、exs.history.js 等等……这 7 个文件都需要注册吗?
  • Alex,我想我只使用捆绑压缩文件夹中的 jquery.history.js。
  • 谢谢 DotNetNuclear 我会为它的钱试一试。最佳亚历克斯
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 2013-05-27
  • 2015-02-02
  • 2011-10-27
  • 1970-01-01
相关资源
最近更新 更多