0

我需要做的是在用户最新状态更新之前添加 newmsg 和用户 ID,而且我还需要添加我的评论切换链接、我的分隔符-postid div、我的用户图片和名称、我的删除按钮和我的喜欢和不喜欢按钮。所以我所拥有的就像 Twitter 和 facebook 所做的那样。-> 将表单数据发送到 ajax 并将所有内容打印到提要中。我的 profile.php 包含我需要包含的所有内容。

那么有没有一种方法可以在 Ajax 成功后调用这些 html 块并将它们显示在前面的 div 中?这真的很难解释,因为我不知道我在做什么,但希望你能明白。我只是不知道这一切。

简介.PHP

   $(document).ready(function(){
    $("form#myform").submit(function(event) {
    event.preventDefault();
    var content = $("#toid").val();
    var newmsg = $("#newmsg").val();
    $.ajax({
    type: "POST",
    cache: false,
    url: "insert.php",
    data: "toid=" + content + "&newmsg=" + newmsg, 
    success: function(){
    $("#myThing").prepend("<div class='userinfo'>"+newmsg+" </div>");
    }
    });
    });
    });
    </script>
    <div class="userinfo"><div id="divider">
    <div class="form">
    <form id="myform"  method="POST"  class="form_statusinput">
    <input type="hidden"  name="toid" id="toid" value="<?php echo $user1_id; ?>">
    <input class="input" name="newmsg" id="newmsg" placeholder="Say something" autocomplete="off">
    <div id="button_block">
    <input type="submit" id="button" value="Feed">
    </div>
    </form>
    </div></div></div></body>
    <p id="myThing"></p>



  COMMENT LINK

echo "<div class='stream_option'><a style='cursor:pointer;' id='commenttoggle_".$streamitem_data['streamitem_id']."' onclick=\"toggle_comments('comment_holder_".$streamitem_data['streamitem_id']."');clearTimeout(streamloop);swapcommentlabel(this.id);\"> Write a comment...</a></div>";
}else{
echo "<div class='stream_option'><a style='cursor:pointer;' id='commenttoggle_".$streamitem_data['streamitem_id']."' onclick=\"toggle_comments('comment_holder_".$streamitem_data['streamitem_id']."');clearTimeout(streamloop);swapcommentlabel(this.id);\"> Show Comments (".$num2.")</a></div>";

喜欢链接

cho "<div class='stream_option'><a id='likecontext_".$streamitem_data['streamitem_id']."' style='cursor:pointer;' onClick=\"likestatus(".$streamitem_data['streamitem_id'].",this.id);\">";

不喜欢链接

echo "<div class='stream_option'><a id='dislikecontext_".$streamitem_data['streamitem_id']."' style='cursor:pointer;' onClick=\"dislikestatus(".$streamitem_data['streamitem_id'].",this.id);\">";

删除链接

<? if($streamitem_data['streamitem_creator']==$_SESSION['id']){
echo "<div style='cursor:pointer;position:relative;top:-70px;float:right;padding-right:5px;' onclick=\"delete_('".$streamitem_data['streamitem_id']."');\">X</div>";}   
4

1 回答 1

2

我猜这里:

success: function(){
  $("#myThing").prepend("<div class='userinfo'>"+newmsg+" </div>");
}

您在哪里插入 HTML?如果是这种情况,并且 insert.php 返回 HTML,请尝试以下操作:

success: function(r){
  $("#myThing").prepend("<div class='userinfo'>"+newmsg+r.responseText+" </div>");
}

要获取 ID:
我猜插入是用 mysql 完成的,所以在插入新消息后你会做:

$new_id = mysql_insert_id();

然后输出 HTML:

echo "<div class='stream_option'><a id='likecontext_".$new_id."' style='cursor:pointer;' onClick=\"likestatus(".$new_id.",this.id);\">";

echo "<div class='stream_option'><a id='dislikecontext_".$new_id."' style='cursor:pointer;' onClick=\"dislikestatus(".$new_id.",this.id);\">";

if ($new_id == $_SESSION['id'])
  echo "<div style='cursor:pointer;position:relative;top:-70px;float:right;padding-right:5px;' onclick=\"delete_('".$new_id."');\">X</div>";
于 2012-07-22T12:46:59.920 回答