我正在创建一个简单的注册页面:
<?php
$firstName = $_POST['firstName'];
?>
<form action="registration.php" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>
<b>First name:</b>
</td>
<td>
<input type="text" name="firstName" size="30" maxlength="400" value="<?php echo $firstName; ?>" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit" />
</td>
</tr>
</table>
</form>
如果用户输入了无效的名字(例如太短或奇怪的符号),页面会重新加载并显示一条错误消息,告诉他们必须重新输入他们的名字HOWEVER,文本的值字段是他们最近输入的内容。这样,无论何时用户未通过验证,他们都不必重新输入表单中的所有字段。
记住用户为下拉菜单输入的内容有什么好方法?对我来说问题是选项值不同于选项标签内的文本。因此,当我使用上述方法时,如果我选择“Mar”,如果发生无效提交,则会在下拉菜单中显示“03”。
<select name="birthdayMonth">
<option value="-1">Month:</option>
<option value="01">Jan</option>
<option value="02">Feb</option>
<option value="03">Mar</option>
<option value="04">Apr</option>
<option value="05">May</option>
<option value="06">Jun</option>
<option value="07">Jul</option>
<option value="08">Aug</option>
<option value="09">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
答案 0 :(得分:3)
在顶部:
$birthdayMonth = $_POST['birthdayMonth']
在select
:
<select name="birthdayMonth">
<option value="-1">Month:</option>
<option value="01"<?php echo $birthdayMonth == '01' ? 'selected="selected"' : ''; ?>>Jan</option>
<option value="02"<?php echo $birthdayMonth == '02' ? 'selected="selected"' : ''; ?>>Feb</option>
<option value="03"<?php echo $birthdayMonth == '03' ? 'selected="selected"' : ''; ?>>Mar</option>
<option value="04"<?php echo $birthdayMonth == '04' ? 'selected="selected"' : ''; ?>>Apr</option>
<option value="05"<?php echo $birthdayMonth == '05' ? 'selected="selected"' : ''; ?>>May</option>
<option value="06"<?php echo $birthdayMonth == '06' ? 'selected="selected"' : ''; ?>>Jun</option>
<option value="07"<?php echo $birthdayMonth == '07' ? 'selected="selected"' : ''; ?>>Jul</option>
<option value="08"<?php echo $birthdayMonth == '08' ? 'selected="selected"' : ''; ?>>Aug</option>
<option value="09"<?php echo $birthdayMonth == '09' ? 'selected="selected"' : ''; ?>>Sep</option>
<option value="10"<?php echo $birthdayMonth == '10' ? 'selected="selected"' : ''; ?>>Oct</option>
<option value="11"<?php echo $birthdayMonth == '11' ? 'selected="selected"' : ''; ?>>Nov</option>
<option value="12"<?php echo $birthdayMonth == '12' ? 'selected="selected"' : ''; ?>>Dec</option>
</select>
答案 1 :(得分:0)
这真是肮脏的做什么你想做什么,但它会起作用:
http://www.plus2net.com/php_tutorial/pb-drop.php
最好使用循环来构建下拉列表,然后将selected =“selected”值添加到正确的选项中。
答案 2 :(得分:0)
<option value="03" <?php echo $_POST['birthdayMonth'] == '03' ?
'selected="selected"' : '' ?>>Mar</option>