python 使用htmx获取单选按钮组的值

eqoofvh9  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(130)

我正在使用htmx,希望我的代码能够检索单选按钮组中的set项的值。下面是我正在尝试使用的htmx:

<div id="js-scale">
            <div>
                <input type=radio name="Js" id="JsStrong"></input>
                <label for="JsStrong">Agree</label>
            </div>
            <div>
                <input type=radio name="Js" id="JsNeutral"></input>
                <label for="JsNetutral">Neutral</label>    
            </div>
            <div>
                <input type=radio name="Js" id="JsPos"></input>
                <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中使用requests.get_data()时,它返回Js=on,而不管选择了哪个单选按钮。
如何设置此选项,以便能够确定选中了哪个单选按钮?

332nm8kg

332nm8kg1#

我发现通过为按钮显式设置value,它可以正常工作。

<div id="js-scale">
            <div>
                <input type=radio name="Js" id="JsStrong value="JsStrong"></input>
                <label for="JsStrong">Agree</label>
            </div>
            <div>
                <input type=radio name="Js" id="JsNeutral" value="JsNeutral"></input>
                <label for="JsNetutral">Neutral</label>    
            </div>
            <div>
                <input type=radio name="Js" id="JsPos" value="JsPos"></input>
                <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>

这是因为HTML的工作原理,从MDN 'input type=radio' page
如果您在HTML中省略value属性,提交的表单数据会将值分配给组。在这种情况下,如果用户单击“Phone”选项并提交表单,则生成的表单数据将是contact=on,这没有任何帮助。因此,不要忘记设置您的value属性!

相关问题