Javascript 使用Twitter引导切换单选按钮,获取表单输入的干净方法是什么?

Javascript 使用Twitter引导切换单选按钮,获取表单输入的干净方法是什么?,javascript,forms,twitter-bootstrap,radio-button,Javascript,Forms,Twitter Bootstrap,Radio Button,我正在使用Twitter引导,希望根据切换状态获取表单输入 我能找到的最简单的方法是在按钮中添加一个不可见的标签——例如有人抛出的标签 它运行得很好,但仍然有点混乱。我的问题是:从这些按钮获取表单输入的干净方法是什么,即没有额外隐藏的单选输入?如何 $(this).children('input[name="is_private"]').val() 我想我第一次误解了你的问题。。。您可以创建一个隐藏的表单元素,以便在提交表单时访问该值,除非您使用AJAX并使用JS设置其值 HTML 怎么样 $

我正在使用Twitter引导,希望根据切换状态获取表单输入

我能找到的最简单的方法是在按钮中添加一个不可见的标签——例如有人抛出的标签

它运行得很好,但仍然有点混乱。我的问题是:从这些按钮获取表单输入的干净方法是什么,即没有额外隐藏的单选输入?

如何

$(this).children('input[name="is_private"]').val()
我想我第一次误解了你的问题。。。您可以创建一个隐藏的表单元素,以便在提交表单时访问该值,除非您使用AJAX并使用JS设置其值

HTML

怎么样

$(this).children('input[name="is_private"]').val()
我想我第一次误解了你的问题。。。您可以创建一个隐藏的表单元素,以便在提交表单时访问该值,除非您使用AJAX并使用JS设置其值

HTML


实际上,您可以使用如下索引函数避免html输入元素和css:

$('div.btn-group .btn').click(function(){
    if ($(this).index() != $('div.btn-group .btn.active').index()){
        alert($(this).index());
    }
})​;

我还添加了一个条件,即如果已选择活动按钮,则不会收到警报。

实际上,您可以使用如下索引函数避免html输入元素和css:

$('div.btn-group .btn').click(function(){
    if ($(this).index() != $('div.btn-group .btn.active').index()){
        alert($(this).index());
    }
})​;

我还添加了一个条件,即如果已选择活动按钮,则不会收到警报。

一个与纯表单POST以及AJAX很好地配合的解决方案是,有一个隐藏的输入字段,表示按钮组的当前状态。然后,可以使用以下标记结构以相同方式处理所有这些按钮组:

<form>
    <div id="test-group" class="btn-group" data-toggle="buttons-radio" data-toggle-name="testOption">
        <input type="hidden" name="testOption"/>
        <button type="button" class="btn" data-toggle-value="one">One</button>
        <button type="button" class="btn" data-toggle-value="two">Two</button>
    </div>
</form>

一个与普通表单POST和AJAX配合良好的解决方案是,有一个表示按钮组当前状态的隐藏输入字段。然后,可以使用以下标记结构以相同方式处理所有这些按钮组:

<form>
    <div id="test-group" class="btn-group" data-toggle="buttons-radio" data-toggle-name="testOption">
        <input type="hidden" name="testOption"/>
        <button type="button" class="btn" data-toggle-value="one">One</button>
        <button type="button" class="btn" data-toggle-value="two">Two</button>
    </div>
</form>

嘿,谢谢,但是需要一个隐藏的单选按钮似乎很难。有没有办法不用那些隐藏的单选按钮就能做到这一点?你至少需要一个隐藏的输入。我已经更新了我的答案,明白了。因此无法绕过隐藏的输入。有一个实际的隐藏输入,而不是通过CSS使其不可见,这当然不那么麻烦。我希望在没有额外JS的情况下做到这一点,但毕竟我正在使用Bootstrap的JS按钮。。。谢谢嘿,谢谢,但是需要一个隐藏的单选按钮似乎很难。有没有办法不用那些隐藏的单选按钮就能做到这一点?你至少需要一个隐藏的输入。我已经更新了我的答案,明白了。因此无法绕过隐藏的输入。有一个实际的隐藏输入,而不是通过CSS使其不可见,这当然不那么麻烦。我希望在没有额外JS的情况下做到这一点,但毕竟我正在使用Bootstrap的JS按钮。。。谢谢谢谢-但这并没有给我一个与表单一起发布的输入值。你可以在按钮中放置一个value属性,然后使用jquery.postGotcha,+1发布这些值,对于这种方法,我很高兴知道,但是手动获取所有正常表单输入以及特殊单选按钮似乎并不优雅。我想我刚刚接受了一个事实,你需要一个输入来让一篇普通的文章无缝地工作,而且隐藏的输入并没有那么糟糕,特别是我已经通过Django小部件自动创建和处理了它们。谢谢-但这不会给我一个与表单一起发布的输入值。你可以在按钮中放置一个值属性,然后使用jquery.postGotcha,+1发布这些值,对于这种方法,我很高兴知道,但是,手动获取所有正常形式的输入以及特殊的单选按钮似乎并不优雅。我想我刚刚接受了一个观点,即你需要一个输入,才能让一篇普通的文章无缝地工作,而隐藏的输入并没有那么糟糕,特别是我已经通过Django小部件自动创建和处理了它们。