我有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.
的新行
答案 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*/
现在工作正常..