在表单中重新填充单选按钮和选择选项

时间:2013-10-11 16:49:04

标签: php

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

<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 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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>

答案 2 :(得分:0)

如果您只想选择任何广播选项或选择选项,只需在标记内为selected添加<select>,为checked选项<input type='radio'>添加<input type='radio' checked />。它看起来像这样:

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

{{1}}

答案 3 :(得分:0)

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

对于当前选定的用户,您可以使用会话。 以下是您的保管箱的一些示例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'];