Reputation: 135
I'm trying to keep the value of my select input after validation by php but i can't get it to work.
This works for text input :
<input type="text" name="answer" id="answer"
value="<?php if(isset($_POST['answer'])){ echo $_POST['answer'];}else{ echo '';} ?>">
But how to make this work for input ?
<select name="question" value="<?php ?>" >
<option value="one">Num 1 ?</option>
<option value="two">Num 2 ?</option>
<option value="three"> Num 3 ?</option>
</select>
Upvotes: 0
Views: 1207
Reputation: 4021
You need to use the selected
attribute:
<select name="question">
<option value="one"<?php if(isset($_POST["question"]) && $_POST["question"] == "one") print(" selected")?>>Num 1 ?</option>
<option value="two"<?php if(isset($_POST["question"]) && $_POST["question"] == "two") print(" selected")?>>Num 2 ?</option>
<option value="three"<?php if(isset($_POST["question"]) && $_POST["question"] == "three") print(" selected")?>> Num 3 ?</option>
</select>
Upvotes: 1
Reputation: 315
For Select you need to do it this way
<select name="question" value="<?php ?>" >
<option value="one" <?php if(isset($_POST["question"]) && $_POST["question"]=="one"){ echo 'selected';} ?> >Num 1 ?</option>
<option value="two">Num 2 ?</option>
<option value="three"> Num 3 ?</option>
</select>
But I would suggest to do it with JQuery which is much more simplified since this IF statement you will be have to write for every value
Upvotes: 1