在keypress事件中,ajax请求不起作用

时间:2014-05-23 12:27:24

标签: php jquery ajax keypress which

我有text area,我可以输入数据。在keypress我必须调用ajax请求。 在keypress我检查密钥是否为enter key(密钥代码= 13),然后ajax请求应该调用。

我的代码是

$(document).keypress(function(e)
  { 
     var msg = $("#text").val();
     var user = $("#huname").val();
     if(e.which == 13)
    {
      $.post("chatAjax.php",{user:user,msg: msg}, function(data)
      {
         alert(data);
      });
        }
  });

我的ajax页面是

$user = $_POST['user'];
$msg = $_POST['msg'];
echo $user"<br>"$msg;

正如我所说的,如果我按enter key ajax page应该致电,但现在当我按enter key时,我仍在textarea.的新行

3 个答案:

答案 0 :(得分:0)

$(document).keypress(function (event) {
    var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == '13') {
        callAjaxFunction();
        event.preventDefault()
    }

});

希望有所帮助

答案 1 :(得分:0)

在ajax调用之前添加此权限:

event.preventDefault();

如名称所示,它将阻止按键事件的默认操作。

答案 2 :(得分:0)

最后我明白了。我的代码中存在两个问题。

1)使用此

$("textarea").keypress(function(event)

而不是

$(document).keypress(function(event)

2)在ajax页面中我错过了concatenation (.) operator

echo $user."<br>".$msg;   /*right*/

但我用这个并且错了

echo $user"<br>"$msg;   /*wrong*/

现在工作正常..