2

我有两个输入表单,并且希望第二个表单即使在提交后也能留在页面上。

<div id="first">
    <form method="POST">
        Number: <input type="text" name="number"><br>
        <input type="submit" value="Submit">
    </form><br>
</div>

<div id="second">
    <?php
    if (isset($_POST['number']) && !empty($_POST['number'])){
        ?>
        <form method="POST">
            Name: <input type="text" name="name"><br>
            <input type="submit" value="Submit">
        </form><br>
        <?php
    }
    ?>
</div>

<div id="third">
    <?php
    if (isset($_POST['name']) && !empty($_POST['name'])){
        echo "TEST";
    }
    ?>
</div>

当我提交第一个表单时,第二个表单正确显示,因为 $_POST['number'] 不为空。但是,“数字”的内容一提交就消失了。

然后,当我提交第二个表单时,“TEST”一词正确显示,但表单本身消失了,因为第一个表单中的 $_POST['number'] 现在为空。

我需要找到一种方法以某种方式保存第一种形式中的数字值,以便第二种形式不会消失。

有什么建议么?

4

1 回答 1

1

You can add hidden field:

<input type="hidden" name="number" value="<?php echo $_POST['number']; ?>">

Then your second form will be changed to:

<form method="POST">
    Name: <input type="text" name="name"><br>
    <input type="hidden" name="number" value="<?php echo $_POST['number']; ?>">
    <input type="submit" value="Submit">
</form
于 2013-07-28T07:46:45.820 回答