0

我有一些聊天设置,如果文本区域处于焦点位置,则在输入时按下,我将其设置为将聊天提交到我的数据库并清除文本区域。不幸的是,第一次按下 Enter 时,它会在任何浏览器中的文本区域中添加换行符。如果您再次键入并按回车,那里仍然只有一个换行符。我错过了什么吗?

谢谢!

    $(document).keypress(function(keyPress) {
        if (keyPress.which == 13) {
            if ($('#chatText').is(':focus')) {
                if ($('#chatText').val().length > 0) {
                    chatValue = $('#chatText').val();
                    $('#chatText').val($('#chatText').val().substring(0,0));
                    $.ajax({
                        type: 'POST',
                        url: 'submitChat.php',
                        data: { chatText: chatValue },
                        success: function(result) {
                            $('#chat_text').html(result);
                            document.getElementById('chat_text').scrollTop = 9999999;
                        }
                    });
                }
            }
        }
    });
4

3 回答 3

2

你为什么不直接清除它?

$('#chatText').keypress(function(e) {
    if (e.which == 13) {
        var value = $(this).val();

        if (value.length > 0) {
            $(this).val('');

            $.ajax({
                type: 'POST',
                url: 'submitChat.php',
                data: {
                    chatText: value
                },
                success: function(result) {
                    $('#chat_text').html(result);
                    this.scrollTop = 9999999;
                }
            });
        }
    }
});
于 2013-04-05T04:40:12.030 回答
1

尝试这个,

$(document).keypress(function(keyPress) {
            if (keyPress.which == 13) {
                keyPress.preventDefault();
                if ($('#chatText').is(':focus')) {
                    if ($('#chatText').val().length > 0) {
                        chatValue = $('#chatText').val();
                        $('#chatText').empty();
                        $.ajax({
                            type: 'POST',
                            url: 'submitChat.php',
                            data: { chatText: chatValue },
                            success: function(result) {
                                $('#chat_text').html(result);
                                document.getElementById('chat_text').scrollTop = 9999999;
                            }
                        });
                    }
                }
            }
        });
于 2013-04-05T04:38:12.117 回答
0
 $(document).keypress(function(keyPress) {


        if (keyPress.which == 13) {
            keyPress.preventDefault();// Add this line
            if ($('#chatText').is(':focus')) {
                if ($('#chatText').val().length > 0) {
                    chatValue = $('#chatText').val();
                    $('#chatText').val($('#chatText').val().substring(0,0));
                    $.ajax({
                        type: 'POST',
                        url: 'submitChat.php',
                        data: { chatText: chatValue },
                        success: function(result) {
                            $('#chat_text').html(result);
                            document.getElementById('chat_text').scrollTop = 9999999;
                        }
                    });
                }
            }
        }
    });
于 2013-04-05T04:38:32.750 回答