3

ユーザーがテキストエリアでEnterキーを押したときにinsert_comment()関数を呼び出したい:Facebookと同じ。

<form action="" method="post" enctype="multipart/form-data" name="comment_form" id="comment_form">
<tr>
<td colspan="3" align="left" valign="top"><textarea name="comment_text" id="comment_text_<?php echo $i; ?>"  class="valid Post_Description_Text" placeholder="Write a comment here..."></textarea></td>
</tr>
<tr>
<td colspan="3" align="right" valign="top"><span id="extra_small_round_loader_<?php echo $postID; ?>"></span>&nbsp;<input type="button" name="comment" value="Comment" id="comment" onclick="insert_comment(<?php echo $i; ?>);" /></td>
</tr>
</form>

そして、これが関数 insert_comment() です。テキストエリアでEnterキーを押すと呼び出したいです:

<script type="text/javascript">
function insert_comment(id)
{
    var comment_des         = $("#comment_text_"+id).val();
    var fk_post_id          = $("#fk_post_id_"+id).val();
    var post_user_id        = $("#post_user_id_"+id).val();
    var user_id             = $("#user_id_"+id).val();

        $.post('ajax_files/insert_comment.php', {comment_des:comment_des,user_id:user_id,fk_post_id:fk_post_id,post_user_id:post_user_id},
        function(data) 
        {
            //$("#ajaxdata").html(data);
            $("#extra_small_round_loader_"+fk_post_id).empty().html('<img src="images/extra_small_round_loader.gif">');
            $('#reload_posts').load('ajax_files/reload_posts.php');


        });
}
</script>

解決済み:解決 策を見つけた皆さん、私はそれをテストし、完璧に機能しました。

テキストエリア フィールドは次のとおりです。

<textarea name="comment_text" id="comment_text_<?php echo $i; ?>"  class="valid Post_Description_Text" placeholder="Write a comment here..." onkeyup="enter_comment(event,<?php echo $i; ?>);"></textarea>

そして、関数があります:

<script type="text/javascript">
function enter_comment(event,id) {
       if (event.which == 13) {
           insert_comment(id); // Call any function here: Just pass your actual Parameters to enter_comment().
       }

}
</script>
4

2 に答える 2

1

onkeyup ハンドラをテキストエリアに追加してみてください:

onkeyup="if(event.keyCode==13) insert_comment(<?php echo $i; ?>);"
于 2013-08-13T05:28:27.263 に答える
0
$(".Post_Description_Text").keypress(function(event) {
       if (event.which == 13) {        
            insert_comment(/((0-9)+)/.exec($(this).attr(id) )[0] );
         }

});
 You can check if the enter key is pressed usinge event.which. Keycode for enter is 13. The regex is just to extract the post id from the id of textbox
于 2013-08-13T05:30:30.477 に答える