【问题标题】:submit and show records without reloading page提交并显示记录而不重新加载页面
【发布时间】:2015-09-21 13:01:16
【问题描述】:

我有一个表单,它将数据提交到表格并在同一页面上显示。但它重新加载页面。

我想在不重新加载页面的情况下提交和显示数据。我读了很多AJAX 脚本。但我很困惑。

有人可以帮忙吗?

<form action="viewblog.php" method="post"> 
<h3 class="contact_title">Leave a Comment</h3> 
<div class="contact_form">
<div class="row">
<div class="large-4 columns">
<input type="text" name="name" placeholder="Name" />
</div>
<div class="large-12 columns">    
 <textarea cols="10" rows="15" name="comment" placeholder="Comment"></textarea> 
</div>
<div class="small-4 columns">
<input type="submit" name="submit" class="button right" value="Add a comment" />
</div>    
</div>    
</div>    
</form>    

 <?php


if(isset($_POST["submit"])) 
{   
require"connection.php";

extract($_POST);


extract($_REQUEST);


mysql_query("insert into comment values('','',Now(),'$name','$comment')") or die 


(mysql_error());


echo"Comment Inserted Succesfully !";


}


?> 




 <?php



  include('connection.php');


     extract($_REQUEST);


$sql = "SELECT * FROM enteries;";


$result = mysql_query($sql);


while($row1=mysql_fetch_array($result))


            {


                extract($row1);

?> 


<div class="comments">


                    <ol class="comment_list">




                        <!--comment item-->


                        <li class="com_item">


                            <div class="com_main">


                                <div class="com_content">


                                    <div class="com_meta">


                                        <span class="user_name"><a href="#"><?
php echo $name;  ?></a></span>


<span class="com_date"><?php echo date("D jS F Y ", strtotime($dateposted))  ?>

</span>

                                    </div>


                                    <p class="com_text"><?php echo $comment;  ?>
</p>

                                </div>

                            </div>

                        </li>

                    </ol>

                </div>

                <?php


            }


                ?>

【问题讨论】:

  • 聘请开发人员(不会感到困惑)为您提供帮助,同时您可以专注于您正在尝试做的任何事情的营销。
  • GOOGLE ajax 表单提交
  • 您需要发布一些代码。您可能正在使用 HTML 表单的提交按钮来触发您的 AJAX。确保使用 preventDefault(); 阻止默认行为; (假设您使用的是 jQuery)
  • 通过ajax更新数据库中的记录。 AND 通过JavaScript 在表格中显示新添加的数据。使用preventDefault(); 作为表单

标签: php mysql ajax


【解决方案1】:

PHP 在服务器端执行,所以直接编写 PHP 和 HTML 组合不会在不重新加载的情况下调用。

您需要JavaScript 进行 AJAX 调用。 您可以使用 jQuery 或 JavaScript 或任何其他库。

This link 会教你 AJAX 的基础知识。

【讨论】:

  • 一旦你提到的链接过时,这个答案就没有多大用处了。
  • OP不知道,否则他不会在这里发帖。所以我刚才提到了。
【解决方案2】:
<form> 
    <h3 class="contact_title">Leave a Comment</h3> 
    <div class="contact_form">
        <div class="row">
            <div class="large-4 columns">
                <input type="text" name="name" id='name' placeholder="Name" />
            </div>
            <div class="large-12 columns">    
                <textarea cols="10" rows="15" id='comment' name="comment" placeholder="Comment"></textarea> 
            </div>
            <div class="small-4 columns">
                <input type="submit" name="submit" id='submit' class="button right" value="Add a comment" />
            </div>    
        </div>    
    </div>    
</form>    
<script>
$('#submit').click(function()
{
    var name = $("#name").val();
    var comment = $("#comment").val();
    var dataString = 'name='+ name + '&comment='+ comment;
        $.ajax({
        url: viewblog.php,
        type:'POST',
        data:dataString,
        cache:false,
        success: function(result)
        {
            alert(result);
        }               
        });
});</script>

viewblog.php

<?
$name=$_POST['name'];
$comment=$_POST['comment'];

$query="INSERT INTO TableName SET NameColumnName='$name', CommentColumnName='$comment'";

//Execute Query Here.. 

echo "Comment Submitted Succesfully";

?>

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2017-06-23
    • 2013-10-14
    相关资源
    最近更新 更多