单击表单提交按钮时,textarea内容自动清除[PHP]

时间:2015-01-20 11:39:58

标签: php html forms

我有一个带有表单提交按钮的textarea。每当我单击提交按钮时,我的textarea上的内容都会清除。但我不想清除我的textarea的内容。这是我的代码

codepage.php

<?php

$ans = "hello";

if (isset($_POST['textcode'])) {
    {
        if ($_POST['textcode'] == $ans) {
            echo "<div id=errorPlace>proceed to next lesson</div>";
        }

        else
        {
            echo "<div id=errorPlace>Error</div>";
        }
    }

}
?>


<form  method="POST" name="validatePHP">
    <textarea name="textcode"></textarea>

    <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
    </form>

感谢您的回答!有效。现在我有另一个问题,如果textarea已经预装了文本,当我在其中输入另一个文本并单击提交按钮时,textarea现在应该有我输入的文本和textarea中的预加载文本

这是我更新的代码

<?php

$ans = "hello";


if (isset($_POST['textcode'])) {
    {
        if ($_POST['textcode'] == $ans) {
            echo "<div id=errorPlace>proceed to next lesson</div>";

        }

        else
        {
            echo "<div id=errorPlace>Error</div>";
        }
    }

}
?>

<form  method="POST" name="validatePHP">
    <textarea name="textcode"><?php if(isset($_POST['textcode'])) { 
     echo htmlentities ($_POST['textcode']); }?>hell</textarea>
    <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
    </form>

4 个答案:

答案 0 :(得分:3)

提交后尝试渲染内容

<textarea name="textcode"><?= $_POST['textcode']; ?></textarea>

答案 1 :(得分:2)

<textarea name="textcode">
<?php if(isset($_POST['textcode'])) { 
     echo htmlentities ($_POST['textcode']); }?>
</textarea>

答案 2 :(得分:0)

也许你可以用$ _SESSION做到这一点?

页面顶部的

键入session_start();

 if ($_POST['textcode'] == $ans) {
     echo "<div id=errorPlace>proceed to next lesson</div>";
 }

像这样添加代码$_SESSION['textareaMsg'] = $_POST['textcode']; ......

 if ($_POST['textcode'] == $ans) {
     echo "<div id=errorPlace>proceed to next lesson</div>";
     $_SESSION['textareaMsg'] = $_POST['textcode'];
 }

然后设置文本区域,只需用它替换它。

<?php
    if(isset($_SESSION['textareaMsg'])){
        echo '<textarea name="textcode">'.$_SESSION['textareaMsg'].'</textarea>';
    }else{
         echo '<textarea name="textcode"></textarea>';
    }
?>

这可以通过在提交表单时将文本区域保存为会话变量,并在加载表单时检查它是否设置,如果是,那么它将用文本区域中设置的内容替换文本区域的内容。会话。希望这有帮助!

答案 3 :(得分:0)

尝试以下代码

   <?php

        $ans = "hello";

        $textcode = ""; //declare a variable without value to avoid undefined error

        if (isset($_POST['textcode'])) {
            {
                $textcode=$_POST['textcode']; //assign the value to variable in you if statment
                if ($textcode == $ans) { //useing variable in if statment

                    echo "<div id=errorPlace>proceed to next lesson</div>";
                }

                else
                {
                    echo "<div id=errorPlace>Error</div>";
                }
            }

        }
        ?>


        <form  method="POST" name="test.php">
            <!--echo user input -->
           <textarea name="textcode"><?php echo $textcode; ?></textarea>

            <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
        </form>