0

有一个代码如下所示:

<form action="/test.html" method="get">
    <p><b>Question?</b></p>
    <p><input type="radio" name="answer" value="a">C<Br>
       <input type="radio" name="answer" value="b">B<Br>
       <input type="radio" name="answer" value="c">C</p>

    <div class="btn-group" data-toggle="buttons-checkbox">
    <button type="button" name="bb" value="b1" class="btn btn-primary">Left</button>
    <button type="button" name="bb" value="b2" class="btn btn-primary">Middle</button>
    <button type="button" name="bb" value="b3" class="btn btn-primary">Right</button>
    </div>

    <p><input type="submit"></p>
</form>

如何将其发送到 get 方法?可能必须编写一些 js(jquery) 代码,但我什么都想不出来。

4

2 回答 2

1

您遇到的问题是未提交按钮值。

以下将为提交表单时选择的按钮创建隐藏的输入元素。

<form action="/test.html" id="the-form" method="get">
    <p><b>Question?</b></p>
    <p><input type="radio" name="answer" value="a">C<Br>
       <input type="radio" name="answer" value="b">B<Br>
       <input type="radio" name="answer" value="c">C</p>

    <div class="btn-group" data-toggle="buttons-checkbox">
        <button type="button" name="bb1" value="b1" class="btn btn-primary">Left</button>
        <button type="button" name="bb2" value="b2" class="btn btn-primary">Middle</button>
        <button type="button" name="bb3" value="b3" class="btn btn-primary">Right</button>
    </div>

    <p><input type="submit"></p>
</form>
<script>
    $('#the-form').on('submit', function() {
        $('.btn.active', '#the-form').each(function() {
            var input = document.createElement("input");
            input.setAttribute("type", "hidden");
            input.setAttribute("name", this.name);
            input.setAttribute("value", this.value);
            document.getElementById("the-form").appendChild(input);
        });
    });
</script>

注意为了使它工作,我必须给表单一个 id,并给按钮提供唯一的名称(因为它们是buttons-checkbox而不是buttons-radio,请参阅docs)。

如果你想要buttons-group行为使用:

<div class="btn-group" data-toggle="buttons-radio">
    <button type="button" name="bb" value="b1" class="btn btn-primary">Left</button>
    <button type="button" name="bb" value="b2" class="btn btn-primary">Middle</button>
    <button type="button" name="bb" value="b3" class="btn btn-primary">Right</button>
</div>
于 2013-09-04T17:07:10.160 回答
0

您下面的按钮.btn-group未提交,因为它们的类型不正确。您需要更改type="button"type="submit". 只有具有type="submit"的按钮才会提交父级form(默认按钮类型是submit))。

<div class="btn-group" data-toggle="buttons-checkbox">
    <button type="submit" name="bb" value="b1" class="btn btn-primary">Left</button>
    <button type="submit" name="bb" value="b2" class="btn btn-primary">Middle</button>
    <button type="submit" name="bb" value="b3" class="btn btn-primary">Right</button>
</div>
于 2013-09-04T16:43:01.587 回答