gpt4 book ai didi

php - 在运行另一个页面时在提交时刷新 HTML PHP 页面?

转载 作者:行者123 更新时间:2023-11-27 22:36:57 26 4
gpt4 key购买 nike

我有一个页面,上面有大量发票,我希望能够删除发票,然后看到它已被删除。

我目前使用的是(混杂其他代码,因为我不太了解 HTML/PHP...!)

  <form name="form1" action="deleteinvoice.php" method="post">
<input name="invoiceid" type="number" size="20"/>
<input id="input"
type='submit'
value='Delete'
onclick="form1.action='deleteinvoice.php';target='my-iframe'"
class="button save-big"
disabled="disabled" >
<input type="checkbox"
name="agree"
value="yes"
onclick="input.disabled = !this.checked" />Confirm you have the correct invoice number
</form>

<iframe name="my-iframe" src="deleteinvoice.php" style="display:none"></iframe>

就删除发票而言,它工作正常(所以我知道 deleteinvoice.php 页面正在工作)但我真正可以用它做的是刷新我所在的页面,以便删除的发票消失,表格再次空白。

想法?

最佳答案

一个快速而肮脏的 PHP 解决方法是创建另一个 PHP 页面,该页面将删除发票并重新加载您所在的页面:

<?php
ob_start();
require 'deleteinvoice.php';
ob_end_clean();
Header("Location: the-page-you-were-looking-before.php");
?>

然后将表单 Action 设置为

onclick="form1.action='workaroundpage.php';"

注意:这不是非常干净或安全的设置。这只是一个简单的凑合,因为您说您不太熟悉 PHP。

上面代码的作用是首先加载真正的“deleteinvoice.php”,就好像它就是那个页面一样。所以发票像以前一样被删除了。但是该页面的任何输出首先由 ob_start() 缓冲,然后由 ob_end_clean() 丢弃,这使得这相当于(客户端)空白页面。然后它会将浏览器重定向(它可以这样做,因为就好像没有创建输出一样)到原始页面,而不是在 iframe 中,而是在主窗口中。所以您发现自己回到列表页面,发票已删除。

一个更优雅(但按比例更复杂)的方式可以做到这一点,例如通过 jQuery AJAX 调用和发票 DOM 元素销毁。

关于php - 在运行另一个页面时在提交时刷新 HTML PHP 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com