将表单转换为URL

时间:2015-12-07 22:22:40

标签: javascript html html-form

我希望能够使用wget(或等效curl)获取HTML表单提交的结果。而不是点击" .csv"在this control中:

enter image description here

我希望能够输入类似的内容:

% wget http://www.example.com/export?code1=1&code2=9999&format=csv

(或卷曲等效物)。我无法弄清楚如何将HTML + JavaScript转换为表单执行时提交的URL。它是一个GET,因此表单本身最终会生成一个URL,但我无法弄清楚它是如何构建的。

基本布局,包括我感兴趣的字段,是:

<form method="GET">
   <input name="code1" type="text" value="">
   <input name="code1" type="text" value="">
   <button type="submit">Search</button>
   <button type="button" aria-expanded="false">
      Export <span class="caret"></span>
   </button>
   <ul class="dropdown-menu" role="menu">
       <li><a href="#" rel="xlsx">.xlsx</a></li>
       <li><a href="#" rel="xls">.xls</a></li>
       <li><a href="#" rel="csv">.csv</a></li>
   </ul>
</form>

我想撰写一个相当于填写code1code2输入的网址,然后点击&#34; .csv&#34;下拉列表中的链接(<ul>)。我不明白rel属性的作用,以及它对构建的网址的贡献。

Here是包含原始代码的页面。相关表单位于包含&#34;搜索&#34;。

的框架中

1 个答案:

答案 0 :(得分:0)

如果您使用jQuery,那么您只需在表单上调用serialize()即可。

否则,您必须自己构建字符串。您可以在此处找到所有详细信息:http://www.w3.org/TR/html4/interact/forms.html#h-17.13

简短版本是URL:

  • 表单的“操作”,默认为当前文档URL,减去查询部分(?及其后面的任何内容),当然还有片段({{1}以及随之而来的任何事情。)

  • #

  • ?格式的各个字段,以name=value

  • 分隔
  • 名称和值必须首先进行URL编码(这意味着用%xy序列替换相当多的东西,用+替换空格)