我有一个脚本,我想在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自动填写在名称字段中使用硬括号的表单?
答案 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
将包含原始网址。
&#34; ...只有字母数字[0-9a-zA-Z],特殊字符 &#34; $ -_ + *&#39;。!()&#34; [不包括引号 - ed]和保留字符 用于其保留目的可以在URL中以未编码的方式使用。&#34;