Page 1 of 1

Setting select box option value

Posted: Wed May 17, 2006 10:57 pm
by AZRoushStang
I'm doing an input form that uses post to self form validation with sticky values for all form fields. I in this form I have a selection box for selecting the state (see code below). I'm not sure how to set the value of the option that was selected. Is there a quick and dirty way to set the selected option? Or am I going to have to use some ugly if/else, or loop statement to set the selected option? I'm hoping someone has a nice clean quick way to do it. All of my attempts have been futile so far. Thanks for any help.

Code: Select all

<!--BEGIN CODE-->

<table>
  <tr>
    <td>City:</td>
    <td>State:</td>
    <td>Zip:</td>
  </tr>
  <tr>
    <td><input type=text name="city" maxlength=25 size=25 value="<? echo $_POST[city]; ?>"></td>
    <td>
	  <select name="state" value="<? echo $_POST[state]; ?>">>
	    <option value""></option>
	    <option value="AK">AK</option>  <option value="AL">AL</option>
	    <option value="AR">AR</option>  <option value="AZ">AZ</option>
	    <option value="CA">CA</option>  <option value="CO">CO</option>
	    <option value="CT">CT</option>  <option value="DC">DC</option>
	    <option value="DE">DE</option>  <option value="FL">FL</option>
	    <option value="GA">GA</option>  <option value="HI">HI</option>
	    <option value="IA">IA</option>  <option value="ID">ID</option>
	    <option value="IL">IL</option>  <option value="IN">IN</option>
	    <option value="KS">KS</option>  <option value="KY">KY</option>
	    <option value="MA">MA</option>  <option value="ME">ME</option>
	    <option value="MD">MD</option>  <option value="MH">MH</option>
	    <option value="MI">MI</option>  <option value="MN">MN</option>
	    <option value="MO">MO</option>  <option value="MS">MS</option>
	    <option value="MT">MT</option>  <option value="NC">NC</option>
	    <option value="ND">ND</option>  <option value="NE">NE</option>
	    <option value="NH">NH</option>  <option value="NJ">NJ</option>
	    <option value="NM">NM</option>  <option value="NV">NV</option>
	    <option value="NY">NY</option>  <option value="OH">OH</option>
	    <option value="OK">OK</option>  <option value="OR">OR</option>
	    <option value="PA">PA</option>  <option value="RI">RI</option>
	    <option value="SC">SC</option>  <option value="SD">SD</option>
	    <option value="TN">TN</option>  <option value="TX">TX</option>
	    <option value="UT">UT</option>  <option value="VA">VA</option>
	    <option value="VT">VT</option>  <option value="WA">WA</option>
	    <option value="WI">WI</option>  <option value="WV">WV</option>
	    <option value="WY">WY</option>  
	  </select>
	</td>
    <td><input type=text name="zip" maxlength=5 size=5 value="<? echo $_POST[zip]; ?>"></td>
  </tr>
</table>

<!--END CODE-->
Burrito: Please use

Code: Select all

and/or

Code: Select all

tags when [url=http://forums.devnetwork.net/viewtopic.php?t=21171]posting code in the forum[/url].[/size]

Posted: Thu May 18, 2006 1:08 am
by jmut
do you mean using javascript.
or just determening based on the php and data that comes in which is the selected one.
What exactly do you expect to happen?

Posted: Thu May 18, 2006 2:50 am
by someberry
I'm guessing you mean when you submit the page, if there was an error with the form you want the selected item to still be selected? If so you will need something like this:

Code: Select all

<select name="state" size="1"> 
<?PHP if(isset($_POST['state'])){ echo('<option value="' . $_POST['state'] . '" selected>' . $_POST['state'] . '</option>'); ?>
<option value="AK">AK</option>  <option value="AL">AL</option>
<option value="AR">AR</option>  <option value="AZ">AZ</option> 
...
...
</select>

Posted: Thu May 18, 2006 6:29 am
by jmut
just put this hole stuff in php array.
and loop to display and figure out the selected.
otherwise it will look very messy and hard to mantain

Posted: Fri May 19, 2006 1:13 am
by AZRoushStang
jmut wrote:just put this hole stuff in php array.
and loop to display and figure out the selected.
otherwise it will look very messy and hard to mantain
Thanks, that worked beautifully, looks great and I now have no idea why I didn't think of that...I need to sleep more....