私が作ろうとしているこの非常にシンプルなウェブサイトには、AJAX、PHP、jquery、およびmySQLがあります。データをデータベースに送信し、ajax \ jqueryを使用してそのデータをインデックスページに表示するテキスト領域があります。しかし何らかの理由で私はsubmitを押して、データはデータベースに送られますが、ページ上のそのデータを見るために自分でページを更新する必要があります。私は問題が私のAJAX JQueryやインデックスの間違いと関係していると仮定しています。また、テキスト領域にテキストを入力してsubmitを押すと、ページを更新するまでテキストがテキスト領域に残ります。ハハ、申し訳ありませんが、これがノーの質問なのですか?私は学びたいと思っています。本当にありがとうございましたコメントはデータベースに表示されますが、更新後のインデックスページにのみ表示されます
はここにAJAXである:ここでは
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(".submit").click(function()
{
var comment = $("#comment").val();
var post_id = $("#post").val();
var dataString = '&comment=' + comment
if(comment=='')
{
alert('Fill something in please!');
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="noworries.jpg" /> ');
$.ajax({
type: "POST",
url: "commentajax.php",
data: dataString,
cache: false,
success: function(html){
$("ol#update").append(html);
$("ol#update li:last").fadeIn("slow");
$("#flash").hide();
}
});
}return false;
}); });
</script>
はインデックス\フォームエリアである:ここで
<body>
<div id="container"><img src="banner.jpg" width="890" height="150" alt="title" /></div>
<id="update" class="timeline">
<div id="flash"></div>
<div id="container">
<form action="#" method="post">
<textarea name="comment" id="comment" cols="35" rows="4"></textarea><br />
<input name="submit" type="submit" class="submit" id="submit" value=" Submit Comment " /><br />
</form>
</div>
<id="update" class="timeline">
<?php
include('config.php');
//$post_id value comes from the POSTS table
$prefix="I'm happy when";
$sql=mysql_query("select * from comments order by com_id desc");
while($row=mysql_fetch_array($sql))
{
$comment=$row['com_dis'];
?>
<!--Displaying comments-->
<div id="container">
<class="box">
<?php echo "$prefix $comment"; ?>
</div>
<?php
}
?>
私commentajax.phpが
<?php
include('config.php');
if($_POST)
{
$comment=$_POST['comment'];
$comment=mysql_real_escape_string($comment);
mysql_query("INSERT INTO comments(com_id,com_dis) VALUES ('NULL', '$comment')");
}
?>
<li class="box"><br />
<?php echo $comment; ?>
</li>
である私はよ申し訳ありませんが、コードは多すぎますが、私は4日前にこれを学び始めました。これはおそらくウェブサイトが機能するまでの最後のバグの1つです。
Firefoxとfirebugを取得することをお勧めします。実際のAjaxレスポンスを確認して、少しデバッグしてください。あなたの成功関数で 'alert(html);'を試してみましたか? – jondavidjohn
情報を送信した後にテキストエリアの包含を削除するには、単に$( '#textarea-id')を使用してください。 – Cristy