在自动刷新 DIV 标签内的 PHP 中表单将不起作用
Form in a PHP inside auto-refresh DIV tag won't work
我有以下两页。该索引.php包括通过PHP的purchases_pending.php。页面第一次加载表单时工作正常,但当 DIV(#pp( 在 10 秒后刷新时,表单不起作用。有解决方案吗?或者,如果我可以通过 AJAX 做到这一点,有人可以帮助我编写代码吗?正如你已经看到我的代码,你可能会知道我是一个初学者。提前谢谢。
索引.php
<script type="text/javascript">
function update(){
$('#pp').load('/status/purchases_pending.php');
}
setInterval( update, 10000 );
</script>
<div class="content">
<div class="content_left">
<p>
<h3>Pending Purchases</h3>
<div class="user_content"><div id="pp"><?php include ($purchases_pending); ?></div></div>
</p>
purchases_pending.php
<?php
$CONFIG = $_SERVER["DOCUMENT_ROOT"]. "/config/";
include($CONFIG. "pages.php");
include($db);
$sql = "SELECT * FROM account WHERE status='Pending' AND type='Purchase'";
$query = mysqli_query($conn, $sql);
if (mysqli_num_rows($query) > 0) {
echo '<table>';
echo '<tr> <th align="left">Party</th> <th>Box</th> <th>Rate</th> <th>Status</th> </tr>';
while ($result = mysqli_fetch_assoc($query)) {
$id = $result['id'];
$party = $result['party'];
$box = $result['box'];
$rate = $result['rate'];
$amount = $result['amount'];
echo '<form action="" method="post">';
echo '<tr>';
echo '<td>' . $party . '</td>';
echo '<td align="center">' . $box . '</td>';
echo '<td align="right">' . $rate . '</td>';
echo '<td align="center"><input type="checkbox" name="status[]" id="status[]" value="' . $id . '" /></td>';
echo '</tr>';
}
echo '</table>';
echo '<input type="submit" name="submit" value="Completed" class="input" />';
echo '</form>';
}
else {
echo 'Hooray...No pending purchases';
}
if(isset($_POST['submit']) && $_POST['submit']!="") {
$status = $_POST['status'];
$count = count($_POST['status']);
for($i=0;$i<$count;$i++) {
$update_purchases = "UPDATE account SET status='Completed', user_confirm='$user_confirm' ,user_confirm_time=current_timestamp WHERE id='$status[$i]'";
$query_purchases = mysqli_query($conn, $update_purchases);
}
header ('location:/');
}
?>
在
jquery之外加载JS函数
<script>
function update(){
$('#pp').load('/status/purchases_pending.php');
}
</script>
$( document ).ready(function() {
setInterval( update, 10000 );
});
JS加载需要在文档中准备就绪才能工作。
简写是
$(function() {
var update = function() {
$('#pp').load('/status/purchases_pending.php');
setTimeout(update, 10000);
}
update();
});
将此代码移动到索引.php因为它不再存在于页面中,因为它在替换div #pp 时被删除
if(isset($_POST['submit']) && $_POST['submit']!="") {
$status = $_POST['status'];
$count = count($_POST['status']);
for($i=0;$i<$count;$i++) {
$update_purchases = "UPDATE account SET status='Completed', user_confirm='$user_confirm' ,user_confirm_time=current_timestamp WHERE id='$status[$i]'";
$query_purchases = mysqli_query($conn, $update_purchases);
}
为了解释从服务器呈现的 php 作为 html,它从上到下读取。所以当js插入它时,它不是插入代码,而是代码的呈现。Ajax 用于发送数据,但在加载时除了给我一个表单之外,没有发送任何数据。帖子不存在,因为它已经呈现。当使用包含时,它被"插入"为要执行的代码的一部分,因此可以工作。
相关文章:
- 传递给 PHP 表单时 JavaScript 动态变量上的未定义索引
- 带有条件字段的PHP表单
- PHP表单提交和重定向
- 如何防止丢失PHP表单中输入的输入字段
- 在动态加载的PHP表单上放置JavaScript事件
- 正在创建'谢谢你'使用colorbox弹出PHP表单
- 带有jquery验证问题的php表单
- 如何将我通过JavaScript计算的自定义金额作为金额发送到PHP表单
- 提交时将JavaScript变量转换为PHP表单
- 带有多个提交按钮的PHP表单
- php表单验证n在表单上显示消息3秒钟并淡出
- php表单发布时正在加载进度条
- 带有javascript按钮的PHP表单-不起作用
- PHP表单适用于索引,但不适用于联系我们页面
- Cake php表单助手.替换输入值
- 对php表单的修改
- 如何在刷新时显示PHP表单中的随机文本和图像
- 自动完成PHP表单选择字段中的用户姓氏
- php表单中的JQuery-重定向到成功页面
- PHP表单,MailFoction和Google reCaptcha验证问题