web-dev-qa-db-fra.com

flask forme de poignée avec boutons radio

Ma index.html ressemble à ça

<form name="myForm" action="" method="post" onsubmit="">
<p>
<input type="radio" name="options" id="option1"> Option1 <br>
<input type="radio" name="options" id="option2"> Option2 <br>
<input type="radio" name="options" id="option3"> Option3 <br>
</p>
<p><input type=submit value=Next></p>
</form>

J'ai besoin d'obtenir le bouton sélectionné. Mais comme ils ont tous le même nom, je ne peux pas le faire en écrivant request.form['option']. Si je rend leurs noms différents, les utilisateurs peuvent effectuer plusieurs sélections.

N'y a-t-il pas un moyen d'obtenir l'état d'un bouton par son identifiant? Si non, quelle est la manière la plus simple de gérer ce formulaire?

18
theluckyemil

Vous devez ajouter l'attribut value à chacun de vos champs input:

<input type="radio" name="options" id="option1" value="option1"> Option1 </input><br>
<input type="radio" name="options" id="option2" value="option2"> Option2 </input><br>
<input type="radio" name="options" id="option3" value="option3"> Option3 </input><br>

et dans votre flask route, vous pouvez lire l'option sélectionnée:

option = request.form['options']

et vous obtiendrez le value du bouton radio sélectionné.

35
doru