You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用htmx时如何正确获取单选按钮组的选中值?

解决HTMX单选按钮提交值始终为"on"的问题

问题出在你的单选按钮没有设置value属性——HTML中单选按钮如果不指定value,提交时默认会发送on作为值,后端自然无法区分选中项。另外你的第二个label的for属性存在拼写错误(JsNetutral应为JsNeutral),会导致点击label无法选中对应单选框,需要一并修正。

修改步骤:

  • 给每个单选按钮添加value属性,设置与选项对应的唯一值(方便后端识别)
  • 修正label的for属性拼写错误

修改后的完整代码:

<div id="js-scale">
    <div>
        <input type="radio" name="Js" id="JsStrong" value="agree">
        <label for="JsStrong">Agree</label>
    </div>
    <div>
        <input type="radio" name="Js" id="JsNeutral" value="neutral">
        <label for="JsNeutral">Neutral</label>    
    </div>
    <div>
        <input type="radio" name="Js" id="JsPos" value="disagree">
        <label for="JsPos">Disagree</label>    
    </div>
    <div id="control-block">
        <button hx-post="{{'/session/'+session+'/tweet/'+tweet+'/Skip'}}" hx-trigger="click" hx-swap="innerHTML" hx-target="#session" type="button">Skip</button>
        <button hx-post="{{'/session/'+session+'/tweet/'+tweet+'/js_submit'}}" hx-trigger="click" hx-swap="innerHTML" hx-target="#session" type="button" hx-include="[name='Js']">Submit</button>
    </div>
</div>

后端获取方式:

修改后,点击Submit按钮提交时,Python后端可以通过request.form.get('Js')获取到选中的具体值(如agree、neutral或disagree),以此区分用户选择的选项。

内容的提问来源于stack exchange,提问作者user2302244

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:50:22