防止刷新提交并在提交后清除输入

时间:2020-10-26 16:50:39

标签: javascript php html jquery ajax

我想建立一个网站,使人们可以在上面发布内容和发表评论 现在我有一些问题 我希望我可以在不刷新页面的情况下提交评论(我找到了一种解决此问题的方法,但是输入不会被清除) 我已经搜索了很多有关防止提交时刷新页面的信息,但是没有一个适合我 我希望有人可以帮助我解决另一个问题 我想让网站在发布评论后立即显示评论(无需刷新页面)

直接编辑我的代码并将其粘贴在此处

下面是我的index.php

<?php
session_start();

require_once 'db.php';


require_once 'new_tdb.php';

//$datas = get_publish_article();

if(isset($_COOKIE["mcsh"])){
}else{
  header("Location: ../mcsh/login/index.php");
  exit();
}

?>
<html>
<head>
        <title>
    website
    </title>
    <link rel="shortcut icon" href="icon.png" type="image/x-icon" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
    <?php include 'menu.css' ?>
    </style>
    </head>
    <body>
    <?php include 'menu.php' ?>
        
        <center>
        <font class="corn-blue">
        
        </font>
        </center>
            <p>&nbsp;</p>
            <?php
$bij = "SELECT * FROM `post` WHERE `comment` != 1 order by id DESC";
$result = mysqli_query($conn, $bij);
$rows = mysqli_num_rows($result);
while($row = mysqli_fetch_array($result)){
$post_id = $row['id'];
$ins = $row['ins'];
$s_uid = $row['s_uid'];
$p_id = $row['id']; 
//$selc = "SELECT * FROM `post` WHERE `post_id` = $p_id";
?>
<center>
<table>
    <tr>
        <th>
        Poster: <?php echo $s_uid;?>
</th>
</tr>
<tr>
    <td>
        <?php echo $ins;?>
</td>
</tr>
<tr>
    <td>
    <details>
    <summary>Comment</summary>
    <form id="worker" action="comment.php" method="post" target="the_iframe">
                                <input type="hidden" name="post_id" value="<?php echo $p_id; ?>">
                                <p><input type="text" name="comment" placeholder="Comment......"> <input type="submit" hidefocus="true" name="submit"></p>
                                </form>
                                <iframe id="is_iframe" name="the_iframe" style="display: none;"></iframe>
                                <?php 
                                $sel = "SELECT * FROM `post` WHERE `post_id` = $post_id order by id DESC";
                                $result2 = mysqli_query($conn, $sel);
                                $rows2 = mysqli_num_rows($result2);
                                while($row2 = mysqli_fetch_array($result2)){
                                    $ins2 = $row2['ins'];
                                    $poster2 = $row2['s_uid'];
                                ?>
                                <p><?php echo $poster2 . ': ' . $ins2; ?></p>
<?php } ?>
</details>
                                </td>
                                </tr>
                                </table>
                                </center>
                                <h1>
                                    -
                                </h1>
<?php
}
            ?>
                           
                                    <?php if (empty($row['file'])){
                                    
                                    }else{   
echo('<img src="image/'); echo $row['file']; echo('"width="100%" height="auto">');
                                         }
                                    ?>


                    
    </body>
</html>

1 个答案:

答案 0 :(得分:-1)

正如@Barmar所说,您希望将AJAX用于网站中的异步操作。 Submit事件必须刷新页面才能重新发送新的表单数据。

PHP是同步的,这意味着如果您想对同步代码执行某些操作,则需要刷新整个页面。

进一步了解: Javascript documentation of Ajax by mozila here