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

Symfony 3中如何获取选中的单选按钮值?

解决单选按钮值获取问题

嘿,这个问题挺常见的,我来帮你搞定~

你目前的核心问题是单选按钮缺少value属性——单选按钮是靠不同的value来区分选中项的,要是没设置value,就算选中了,后端拿到的都是默认的on,根本没法判断用户选的是男还是女。

第一步:修改Twig里的单选按钮代码

给每个单选按钮加上对应的value值(你可以根据自己的业务需求定义,比如用homme/femme或者m/f都行):

<input type="text" name="txtNom" id="txtNom" value="{{user.nom}}" /> 
<input type="text" name="txtPrenom" id="txtPrenom" value="{{user.prenom}}" /> 
<input type="radio" name="rbSexe" id="rbHomme" value="homme" onclick="changeGender(this.id);" /> 
<input type="radio" name="rbSexe" id="rbFemme" value="femme" onclick="changeGender(this.id);" />

如果需要根据用户现有性别默认选中对应选项,可以再加个checked判断:

<input type="radio" name="rbSexe" id="rbHomme" value="homme" {% if user.sexe == 'homme' %}checked{% endif %} onclick="changeGender(this.id);" /> 
<input type="radio" name="rbSexe" id="rbFemme" value="femme" {% if user.sexe == 'femme' %}checked{% endif %} onclick="changeGender(this.id);" />

第二步:控制器中获取选中值

现在就可以和文本框一样,直接通过name属性rbSexe获取选中的值了:

$utilisateur->setSexe($request->get('rbSexe'));

要是担心用户没选任何单选按钮导致返回null,还可以加个默认值兜底:

// 比如默认设为未指定,你可以换成自己需要的默认值
$utilisateur->setSexe($request->get('rbSexe', 'indetermine'));

这样就能完美获取到单选按钮的选中值啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:13:11