通过URL自动填充带有硬括号的HTML变量

时间:2014-12-16 22:29:43

标签: html

我有一个脚本,我想在HTML文档上运行,它通过在我通过命令提示符(Windows)运行脚本时传递脚本的URL中传递自动填充占位符来识别要执行的字段。因此,例如,如果我希望脚本使用名称fieldname处理页面中的元素,我会将其作为URL参数传递给它:

http://www.example.com/login.html?fieldname=placeholder

其中fieldname是我希望它使用的HTML源代码中的字段的名称,它使用与通过URL自动填充相同的语法。

我的问题是我要运行它的页面对于我要填写的元素有以下内容:

<input class="input-xlarge" id="user_login" name="user[login]" maxlength="128" type="text">    

如果我将http://www.example.com/login.html?user[login]=placeholder传递给我的浏览器,则该字段不会自动填充,因此脚本无法识别它。我还尝试使用user,login和userlogin作为名称,但没有成功。

所以我的问题是如何通过传递给浏览器的URL自动填写在名称字段中使用硬括号的表单?

1 个答案:

答案 0 :(得分:0)

传递此链接,该链接已编码为encodeURI()

http://www.example.com/login.html?user%5Blogin%5D=placeholder

然后,当您收到接收页面上的链接时,请使用decodeURI()转换回&#34; [&#34;和&#34;]&#34;。

应该看起来像:

var url = decodeURI('http://www.example.com/login.html?user%5Blogin%5D=placeholder');

var url将包含原始网址。

为什么? W3C报价:

  

&#34; ...只有字母数字[0-9a-zA-Z],特殊字符   &#34; $ -_ + *&#39;。!()&#34; [不包括引号 - ed]和保留字符   用于其保留目的可以在URL中以未编码的方式使用。&#34;