如何自行更新表单?

时间:2017-03-22 23:49:27

标签: php html forms

我有一个包含3个选项的表单,我希望表单用提交时输入的名称替换所选文本。因此,如果用户输入他们的名字作为Josh,并选择“King”,我希望表单更新自己而不是拥有King它会说Josh不再是一个选择,然后拥有另一个以下两个字符供其他人挑选。这是一个PHP文档,但数据当然是HMTL形式。

我正在阅读有关隐藏表单的内容,但不知道如何在这里实现它们。有没有人有任何建议?



<form method="get" action="">
  Your Name: <input type="text" name="name" />
  <br/>
  <input type="radio" name="character" value="King"> King<br>
  <input type="radio" name="character" value="Queen"> Queen<br>
  <input type="radio" name="character" value="Prince"> Prince <br>

  <input type="submit" value="Submit" />
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

你想做这样的事吗?

您可以使用php条件和隐藏字段来完成。

使用名称“form.php”保存文件然后运行它并告诉我它是否有效;)

<form method="post" action="form.php">
    Your Name: <input type="text" name="name" />
    <br/>
    <?php if((isset ($_POST['name-1']) || isset($_POST['name'])) && (isset ($_POST['character-1']) && $_POST['character-1']=='King'))
    {
        $name=isset($_POST['name-1'])?$_POST['name-1']:$_POST['name'];
        echo $name.'<br><input type="hidden" name="name-1" value="'.$name.'"/><input type="hidden" name="character-1" value="'. $_POST['character-1'].'"/>';
    }
    else {?>
        <input type="radio" name="character-1" value="King"> King<br>
    <?php } ?>

    <?php if((isset ($_POST['name-2']) || isset($_POST['name'])) && (isset ($_POST['character-2']) && $_POST['character-2']=='Queen'))
    {
        $name=isset($_POST['name-2'])?$_POST['name-2']:$_POST['name'];
        echo $name.'<br><input type="hidden" name="name-2" value="'.$name.'"/><input type="hidden" name="character-2" value="'. $_POST['character-2'].'"/>';
    }
    else {?>
        <input type="radio" name="character-2" value="Queen"> Queen<br>
    <?php } ?>
    <?php if((isset ($_POST['name-3']) || isset($_POST['name'])) && (isset ($_POST['character-3']) && $_POST['character-3']=='Prince'))
    {
        $name=isset($_POST['name-3'])?$_POST['name-3']:$_POST['name'];
        echo $name.'<br><input type="hidden" name="name-3" value="'.$name.'"/><input type="hidden" name="character-3" value="'. $_POST['character-3'].'"/>';
    }
    else {?>
        <input type="radio" name="character-3" value="Prince"> Prince <br>
    <?php } ?>

    <input type="submit" value="Submit" />
</form>