1

我有以下搜索表单:
每个字段都是一个复选框,因此每个组都是多选的

<form action="search">

    <fieldset id="type">
        <legend>Offer type:</legend>
        <input type="checkbox" name="full" id="checkbox-01" /> <label for="checkbox-01">Full Time</label>
        <input type="checkbox" name="part" id="checkbox-02" /> <label for="checkbox-02">Part time</label>
        <input type="checkbox" name="internship" id="checkbox-03" /> <label for="checkbox-03">Internship</label>
        <input type="checkbox" name="other" id="checkbox-04" /> <label for="checkbox-04">Other</label>

    </fieldset>

    <fieldset id="jobs">
        <legend>Jobs:</legend>
        <input type="checkbox" name="plumber" id="checkbox-1" /> <label for="checkbox-1">Plumber</label>
        <input type="checkbox" name="baker" id="checkbox-2" /> <label for="checkbox-2">Baker</label>
        <input type="checkbox" name="tester" id="checkbox-3" /> <label for="checkbox-3">Tester</label>
        <input type="checkbox" name="engineer" id="checkbox-4" /> <label for="checkbox-4">Engineer</label>

    </fieldset>

    <input type="submit" value="Search" />
</form>

但不是有

http://...../search?full=on&other=on&tester=on&engineer=on 

作为 url 查询字符串

我想拥有:

http://...../search?type=full+other&jobs=tester+engineer

这对于解析服务器端更具可读性和有用性

当然,我不能为复选框设置相同的名称属性,有没有我可以做的技巧,或者唯一的解决方案是在按钮单击时执行 javascript?

谢谢

4

2 回答 2

3

使用了以下技巧:

<input type="checkbox" name="cat[]" />
于 2012-10-21T09:25:54.000 回答
2

您可以使用 onSubmit() 方法解析表单属性,然后更改文档上的位置。

但是如果可以的话,考虑使用 post submit 类型来隐藏查询字符串而不是 get,如果这是一个美学问题。

于 2012-06-28T14:41:51.190 回答