Ajax / Javascript用户状态更新

时间:2012-07-22 12:35:15

标签: php javascript jquery html

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

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

PROFILE.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>";

LIKE LINK

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>";}   

1 个答案:

答案 0 :(得分: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>";