My index.html
looks like this
<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>
I need to get the selected button. But since they all have the same name I cannot do it by writing request.form['option']
. If I make their names different, users can make multiple selections.
Isn't there a way to get a button's state by it's id ? If no, what's the simplest way to handle this form ?
The Radio field enables your users to select a value from a predefined set of choices that are displayed as radio buttons.
Build A Paint Program With TKinter and Python The radiobutton has only two values, either True or False. If we want to get the output to check which option the user has selected, then we can use the get() method. It returns the object that is defined as the variable.
You should add the value
attribute to each of your input
fields:
<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>
and in your flask route you can read the selected option:
option = request.form['options']
and you'll get the value
of the selected radio button.
or an alternative and simple method is to use
getlist()
<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>
then to get value selected, in your flask file:
option = request.form.getlist('options')
nb: you can select more or one value it will be saved in a list
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With