1

div と ajax のリンクを使用して、ページを更新せずにデータを渡すための最良の方法/結果は何ですか。クリックするとコメントと div がフェードアウトし、ページが更新されないようにしたいです。そのため、コメントを削除した場所に正確に残ります。

私はこれを試しましたが、うまくいきません

   <script>
function delete_(pid){
$.ajax({
   type: "POST",
   url: "include/post.delete.php",
   data: "pid="+pid,
   success: function(){
   $("#comment-"+pid).remove();
   }
 });
}
</script>
<? if($streamitem_data['streamitem_creator']==$_SESSION['id']){
echo "<div style='cursor:pointer;' onclick=\"delete_('".$streamitem_data['streamitem_id']."');\">Delete comment</div>";

しかし、それは私が必要とする上記の結果を私に与えていません。多分私は何か間違ったことをしているかもしれませんが、可能であれば助けが必要です.

4

1 に答える 1

5

そのコメントを削除するために送信アクションのあるフォームを使用しないでください。フォームを送信すると、ページが自動的に再読み込みされます。代わりに、onclickハンドラーを含む単純な要素を使用して、AJAX 要求をトリガーします。

<div onclick="delete_('anyID');">Delete comment</div>

編集:例:

<head>
<script src="jquery.min.js"></script>
<script type="text/javascript">
function delete_(pid){
$.ajax({
   type: "POST",
   url: "include/post.delete.php",
   data: "pid="+pid,
   success: function(){
   $("#comment-"+pid).remove();
   }
 });
}
</script>
</head>

<body>
<div id="comment-123">This is a comment.</div>
<div onclick="delete_('123');">Delete comment</div>
</body>
于 2012-07-15T00:35:00.233 に答える