无法附加jquery

时间:2016-01-25 21:39:07

标签: javascript php jquery

我无法附加页面似乎刷新了我想要查看的位置而不刷新页面

的index.php

<div class="view_comment">
        <b>username :</b> <?php echo  $comment_comment;?>
</div> 
<div id="comment_type_area" class="comment_type_area">
        <form method="POST">
            <input type="text" class="comment" post_id="<?php echo $shared_id2; ?>" id="text_comment" placeholder="Write a Comment"></input>
            <input type="submit" id="post_button" ></input> 
        </form>
        </div>

的jquery.js

  $(document).ready(function(){

        $('.comment').keydown(function (e){
            if(e.keyCode == 13){
                var post_id = $(this).attr('post_id');
                var comment = $(this).val();
                $.post('/comment.php',{ post_id: post_id, comment:comment});
                $('.comment').val('');
/*i am guessing the problem starts from here and onwards*/
                $(this).parent().children('.comments').append("<div class='view_comment'><b>Username :</b>" + comment +"</div>");
            }
        });

    });

2 个答案:

答案 0 :(得分:6)

您应该添加e.preventDefault()以防止提交,因为当您点击表单字段中输入button时会自动提交表单:

if(e.keyCode == 13){
     e.preventDefault();

     var post_id = $(this).attr('post_id');
     var comment = $(this).val();
     ...
}

注意:输入是自闭标签之一,因此它应为<input type="submit" id="post_button" />

希望这有帮助。

答案 1 :(得分:0)

错误发生在jquery帖子中我将其附加到..children('comments').append这是错误的应该是这样的

$(document).ready(function(){

    $('.comment').keydown(function (e){
        if(e.keyCode == 13){
            e.preventDefault();
            var post_id = $(this).attr('post_id');
            var comment = $(this).val();
            $.post('/comment.php',{ post_id: post_id, comment:comment});
            $('.comment').val('');
            $(this).parent().append("<div class='view_comment'><b>Username :</b>" + comment +"</div>");
        }
    });

});