0

我正在处理一个表单,但我想知道在提交表单后我是否可以在表单中重新填充单选按钮和选择选项?这就是我的代码现在的样子,但我没有任何实现......

<form method="post" action="forms-part3.php">
<table>
    <tr>
        <th colspan="2">FSOSS Registration</th>
    </tr>
    <tr>
        <td><br /></td>
    </tr>
    <tr>
        <td class="right text">Title:</td>
        <td><input type="radio" name="sex" value="male">Mr.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="female">Mrs.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="female">Ms.</td>
    </tr>                
    <tr>

这是下拉选择部分...

<tr>
        <td class="right text">T-shirt Size:</td>
        <td>
            <select name="selection"><?php  
            $menu = array("-Enter T-Shirt Size-", "Small", "Medium", "Large", "X-Large", "Do not want a t-shirt");
            $count = count($menu);
            for($i = 0; $i < $count; $i++)
            {
             ?><option><?php if (isset($menu[$i])){ echo $menu[$i]; }?></option><?php
            }
            ?></select></td>
    </tr>

抱歉,我忘了说我正在做我的表单以重新出现所有字段都重新填充了用户输入的内容。所以,我知道如何处理文本字段,但我不确定如何处理收音机和选择选项。 . 因此,在用户输入他的选择后,表单将重新填充字段并重新选择所选的单选和选项。

4

4 回答 4

1

这是如何重新填充单选按钮:

<td class="right text">Title:</td>
        <td><input type="radio" name="sex" value="Mr." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Mr.") echo "checked"; ?>>Mr.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Mrs." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Mrs.") echo "checked"; ?>>Mrs.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Ms." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Ms.") echo "checked"; ?>>Ms.</td>
    </tr>

这是重新填充选择菜单的方法:

<select name="selection">
            <option value="" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='')?' selected="selected"':'');?>>-Enter T-Shirt Size-</option>
            <option value="Small" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Small')?' selected="selected"':'');?>>Small</option>
            <option value="Medium" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Medium')?' selected="selected"':'');?>>Medium</option>
            <option value="Large" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Large')?' selected="selected"':'');?>>Large</option>
            <option value="X-Large" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='X-Large')?' selected="selected"':'');?>>X-Large</option>
            <option value="Do not want a t-shirt" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Do not want a t-shirt')?' selected="selected"':'');?>>Do not want a t-shirt</option>
            </select>
于 2013-10-12T02:06:20.953 回答
1

您是通过 PHP 提交表单吗?所以你有类似的东西$_POST['input']。在您的表格中,您可以简单地重新填充;

<?php
if($_POST['input'] === TRUE){
    $input_checked = 'checked';
}
?>
<input type="checkbox" name="input" value="value" <?php echo $input_checked; ?>/>

不过就个人而言,如果您使用 ajax 提交表单会容易得多,因为如果表单验证失败,表单不会重新加载,并且所有输入值都保持不变。

于 2013-10-11T17:23:29.027 回答
0

If you want to just select any radio option or select option, just add a selected for <select> and checked for <input type='radio'>option inside the tag. It would look like this:

<input type='radio' checked />

<select><option selected></option></select>

于 2013-10-11T16:55:40.423 回答
0

我认为您想从您的 MySQL 数据库中检索选定的选项。
您的数据库保存用户选择的选项。
您需要在 PC 上安装 MySQL,并且必须在 php.ini 中启用 mysqli。
或者,您可以将数据保存到会话或 POST 中,但是当用户关闭浏览器时,您将丢失用户的信息。
首先使用 phpMyADmin 或 SQL 命令提示为您的用户创建一个表。
然后为 T 恤尺寸创建一个衬衫表。

对于当前选定的用户,您可以使用会话。这是您的 Dropbox 的一些示例 PHP 代码: - 但不完整。

 $CNN = "John";  
 $DBConnect = mysqli_connect("localhost", "root", "myUltraPasswrd#", "myDBname");  
 <select name="Tdropdown" onload="this.size=70;" onchange='this.form.submit()'>  

 $queryS = "select size from shirts where UserNo = $CNN";  

 if ($result = mysqli_query($DBConnect, $queryS)) {  
   while ($row = mysqli_fetch_assoc($result2)) {  

 $item1b = $row["Size"];  

 echo "<option  value='";  
 echo $item1b."'>";  
 echo $item2b;  

  echo "____".$CNN; //selected customer of current session
  print "_".$item1b;
 print "_".$item3b;

 print " </option>"; 
 }
 $result2->free();
  }
 }

但是代码很大程度上取决于您要完成的工作。
正确的数据库设计至关重要。享受!
PS 对于您可能使用的会话:

session_start();  
$CNN = @$_SESSION['UserNo'];  
于 2013-10-11T19:16:28.193 回答