jQuery创建了按钮删除链接文本

时间:2017-07-13 13:05:13

标签: javascript jquery html greasemonkey

我在Java脚本中创建了一个dyanmic按钮,其代码如下:

var pathname = window.location.pathname;    
var html = '<div id="gmSomeID"><form action="https://apples.com/active/index?u='+pathname+'"><input id="tapButton" type="submit" value="TAP" /></form></div>'

这应该将某人直接传递给上面提到的带有路径名的链接。

当我手动将此网址粘贴到自己手中时,此功能正常。但是,每次单击此链接时,URL都会截断为:

https://apples.com/active/index?

供参考:

为什么JavaScript /浏览器会截断这样的链接?

2 个答案:

答案 0 :(得分:1)

不确定这是否会导致您的问题,但每次构建网址参数时,都应对这些值进行网址编码。

所以,为了正确,代码应如下所示:

var pathname = window.location.pathname;    
var html = '<div id="gmSomeID"><form action="https://apples.com/active/index?u='+encodeURIComponent(pathname)+'"><input id="tapButton" type="submit" value="TAP" /></form></div>'

答案 1 :(得分:1)

我想到了这个,并有另一个想法:

尝试将u参数作为隐藏输入而不是操作。

var html = '<div id="gmSomeID"><form action="https://apples.com/active/index"><input type="hidden" name="u" value="'+pathname+'"/><input id="tapButton" type="submit" value="TAP" /></form></div>'

我认为GET输入值总是覆盖action参数的查询字符串中的值。

另请参阅:submitting a GET form with query string params and hidden params disappear