Yup, option b has a larger size, depending on the amount of option for the drop down.
If javascript is not your thing just do something like this in the first page:
<FORM NAME="MyForm" ACTION="Validate.php" METHOD="POST">
<SELECT NAME="Whatever" OnChange="Javascript: document.MyForm.submit();">
<OPTION>.....</OPTION>
</SELECT>
</FORM>
Either have the form submit to the same page and have a hidden field to determine if the submit was triggered by the onChange event (and redisplay with text boxes filled in) or by the submit button. This way you have to make sure the submit button changes the value of the hidden form before the form is submitted.
The other way is to have a second form on the page. It might look like this:
<FORM NAME="OnChangeForm" METHOD="POST" ACTION="ThisPage.php">
<INPUT TYPE="HIDDEN" NAME="DropDownValue"
</FORM>
and have the onchange event of the drop down look more like this:
onChange="Javascript: document.OnChangeForm.DropDownValue.value = document.MyForm.options[document.MyForm.Whatever.selectedIndex].value; document.OnChangeForm.submit();"
This will cause the hidden form to submit the value to the same page (assume the page the form is on is ThisPage.php). Then the php code should test to see if a value was passed. If a value was passed fill in your text boxes, else leave blank.
The javascript is kinda nasty, but the php is very doable this way.