如何记得在下拉项形式发布字段?(How to remember posted fields in f

2019-09-27 07:19发布

我创建一个简单的注册页面:

<?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>

如果用户输入一个无效的名字(例如:太短,或怪异的符号),一个错误信息页面重新加载显示出来告诉他们,他们必须无论其重新输入他们的名字,文本字段的值是什么他们最近输入。 这样,只要用户没有通过验证,他们不必再在表单中输入的所有字段。

什么是记住用户的下拉菜单中输入有什么好办法? 我的问题是,期权的价值比选项标签中的文本不同。 所以,当我使用上面的方法,如果我选择“月”,如果发生无效投稿,“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>

Answer 1:

在顶部:

$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>


Answer 2:

这是一个非常肮脏的东西做你想要什么,但它的工作:

http://www.plus2net.com/php_tutorial/pb-drop.php

这将是更好地使用循环构建下拉,然后选择=“选择”值添加到正确的选项。



Answer 3:

<option value="03" <?php echo $_POST['birthdayMonth'] == '03' ?
'selected="selected"' : '' ?>>Mar</option>


文章来源: How to remember posted fields in forms for drop down items?
标签: php html forms