你如何删除以前的回声/表单 PHP

Posted

技术标签:

【中文标题】你如何删除以前的回声/表单 PHP【英文标题】:how do you delete a previous echo / form PHP 【发布时间】:2021-08-08 01:28:17 【问题描述】:

我目前正在开展一个通过 EOT 控制输出的项目。但是当我想请求一个新控件时,他会将新控件置于先前的控件之下(或之前的回显之下)。现在我正在尝试删除或覆盖以前的回声。我知道已经有几个关于它的主题,但这不是我想要的。当我通过我的按钮请求我的新支票时,我想删除我以前的回声。我已经尝试过在所有可能的地方使用“OB_clean”和“OB_Flush”,但这不起作用

谢谢!

<div class="content">
    <div id="myForm" class="container-fluid">
        <form id="myForm" method="POST">
            <p class="Titel">Controles opvragen:</p>
            <div class="form-group">
                <div class="form-group">
                    <button name="Controle1" type="submit" class="btn btn-primary" value="1">Controle 1</button>
                    <button name="Controle2" type="submit" class="btn btn-primary" value="2">Controle 2</button>
                    <button name="Controle3" type="submit" class="btn btn-primary" value="3">Controle 3</button>
                    <button name="Controle4" type="submit" class="btn btn-primary" value="4">Controle 4</button>
                    <button name="Controle5" type="submit" class="btn btn-primary" value="5">Controle 5</button>
                </div>
                <div>
                    <?php
                        $uri = $_SERVER['REQUEST_URI'];
                        if (isset($_POST['Controle1'])) 
                        
                        
                            $checkpointID = $_POST['Controle1'];
                            FormBuilder($checkpointID) ; 
                        
                        if (isset($_POST['Controle2'])) 
                        
                          
                            $checkpointID = $_POST['Controle2'];
                            FormBuilder($checkpointID);      
                        
                        if (isset($_POST['Controle3'])) 
                        
                            $checkpointID = $_POST['Controle3'];
                            FormBuilder($checkpointID);  
                        
                        if (isset($_POST['Controle4'])) 
                        
                            $checkpointID = $_POST['Controle4'];
                            FormBuilder($checkpointID); 
                        
                        if (isset($_POST['Controle5'])) 
                        
                            $checkpointID = $_POST['Controle5'];
                            FormBuilder($checkpointID); 
                        
                        if (isset($_POST['Controle6'])) 
                        
                            $checkpointID = $_POST['Controle6'];
                            FormBuilder($checkpointID);
                        
                    ?>
                </div>
            </div>
        </form>
    </div>
</div>

【问题讨论】:

请发布文字而不是图片。 回显过一次的内容,无法撤消。您可以先使用 ob_start() 进行捕获,然后根据需要使用 ob_clean()。 “我已经尝试过在所有可能的地方使用“OB_clean”和“OB_Flush”,但这不起作用”Edit your question 显示在哪里以及如何你试过了。 甚至不清楚您所说的“删除以前的回声”是什么意思。在我看来,您正在描述页面内容的常规旧更改,这应该可以通过正常的表单提交来实现。你能举一个具体的例子来说明你想在这里发生什么吗? 【参考方案1】:

您的代码有一个表单,因此每次单击按钮时页面都会刷新和清除,这个问题毫无意义。无论如何,如果这就是你需要的,一种方法是使用 jquery 来清除。您可以给 div 一个 id 并使用简单的 jquery 来清除元素内的所有内容。您可以回显 jquery 代码,也可以创建一个函数以在需要时通过回显调用。 有代码示例。

<script>
     function cleardiv()
        $("#div").html("");
    
 </script>
 <div class="content">
   <div id="myForm" class="container-fluid">
    <form id="myForm" method="POST">
        <p class="Titel">Controles opvragen:</p>
        <div class="form-group">
            <div class="form-group">
                <button name="Controle1" type="submit" class="btn btn-primary" value="1">Controle 1</button>
                <button name="Controle2" type="submit" class="btn btn-primary" value="2">Controle 2</button>
                <button name="Controle3" type="submit" class="btn btn-primary" value="3">Controle 3</button>
                <button name="Controle4" type="submit" class="btn btn-primary" value="4">Controle 4</button>
                <button name="Controle5" type="submit" class="btn btn-primary" value="5">Controle 5</button>
            </div>
            <div id="div">
                <?php
                    echo "<script> cleardiv() </script>";
                    $uri = $_SERVER['REQUEST_URI'];
                    if (isset($_POST['Controle1'])) 
                    
                    
                        $checkpointID = $_POST['Controle1'];
                        FormBuilder($checkpointID) ; 
                    
                    if (isset($_POST['Controle2'])) 
                    
                      
                        $checkpointID = $_POST['Controle2'];
                        FormBuilder($checkpointID);      
                    
                    if (isset($_POST['Controle3'])) 
                    
                        $checkpointID = $_POST['Controle3'];
                        FormBuilder($checkpointID);  
                    
                    if (isset($_POST['Controle4'])) 
                    
                        $checkpointID = $_POST['Controle4'];
                        FormBuilder($checkpointID); 
                    
                    if (isset($_POST['Controle5'])) 
                    
                        $checkpointID = $_POST['Controle5'];
                        FormBuilder($checkpointID); 
                    
                    if (isset($_POST['Controle6'])) 
                    
                        $checkpointID = $_POST['Controle6'];
                        FormBuilder($checkpointID);
                    
                ?>
            </div>
        </div>
    </form>
</div>

我知道这可能不是正确的方法,但它可以是一种选择。

【讨论】:

谢谢你!这正是我想要的!

以上是关于你如何删除以前的回声/表单 PHP的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 表单打开如何删除 index.php

如何删除 php 扩展并将扩展重定向到无扩展表单

插入表单时如何删除 Word 标记废话?

如何从 Django 表单中删除必需的属性

[php内的html表单进行循环-编辑/删除按钮

如何删除存储在访问(.accdb)中的图像?