输入的Jquery .val()只能工作一次

时间:2009-10-22 12:54:23

标签: jquery

我正在尝试为我的游戏创建一个聊天框。

用户输入他们在输入中的聊天:文本字段,然后按Enter键或单击按钮提交聊天文本。

这一切都有效,但由于某种原因,用户第一次提交聊天消息后,无法从输入字段中获取文本。

这是我的代码。

$(document).ready(function() {
    $("#chatEnter").live('click',function(){
        var chat = $('#chatText').val();
        sendChat(chat);
    });
});

$(document).ready(function() {
    $("#chatText").keypress(function(e){
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
        {  
            var chat = $('#chatText').val();
            sendChat(chat);
            return false;
        }
        else return true;   
    });
});

function sendChat(chat)
{   
    alert(chat); //temp test alert
    $.getJSON("includes/boardUpdate.php",{chat: chat, bid: bid});
    $('#chatText').val("");
}

如果我首先通过单击按钮或按Enter键提交文本无关紧要,所有将来的尝试都会提交空白,直到我刷新页面。

编辑:我已尝试使用和不使用行清除文本框,两种方式都有相同结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

它冒犯了The Spirits在页面上有多个具有相同id的元素。坏,奇怪,有时会发生超自然现象。通常页面似乎可以工作很长时间,但一旦调整就会失败。

(还要感谢所有人提示我提供答案!)