jQuery 创建按钮放置 link 文本
jQuery created button dropping link text
我使用以下代码在 Java 脚本中创建了一个动态按钮:
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>'
那应该直接将某人传递给上面提到的 link 并附加路径名。
当我手动将此 URL 粘贴到自己中时,这有效。但是,每次我单击此 link 时,URL 都会被截断为:
https://apples.com/active/index?
供参考:
- 原文URL:https://apples.com/class/1/info
- 路径名:/class/1/info
为什么 Java 脚本/浏览器会像这样截断 link?
不确定这是否会导致您的问题,但每次构造 URL 的参数时,您都应该对值进行 URL 编码。
因此,为了正确起见,代码应如下所示:
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>'
我想了想,又有了一个想法:
尝试将 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
我使用以下代码在 Java 脚本中创建了一个动态按钮:
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>'
那应该直接将某人传递给上面提到的 link 并附加路径名。
当我手动将此 URL 粘贴到自己中时,这有效。但是,每次我单击此 link 时,URL 都会被截断为:
https://apples.com/active/index?
供参考:
- 原文URL:https://apples.com/class/1/info
- 路径名:/class/1/info
为什么 Java 脚本/浏览器会像这样截断 link?
不确定这是否会导致您的问题,但每次构造 URL 的参数时,您都应该对值进行 URL 编码。
因此,为了正确起见,代码应如下所示:
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>'
我想了想,又有了一个想法:
尝试将 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