这是记事本++中的聊天应用程序代码。我的回车键不起作用,因为它总是给出一个新行。我试图找到问题,但无法纠正它, 如果有人能够发现并纠正这个问题,那将会有很大帮助吗?
?
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<link href="../Style/Style.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="..Js/jquery.js"></script>
<title>Chat Application Home</title>
<script type="text/javascript">
$(document).ready(function(){
$("#ChatText").keyup(function(e){
//When We Press Enter Do
if(e.keyCode ==13){
var ChatText = $("#ChatText").val();
$.ajax({
type:'POST',
url:'InsertMessage.php',
data:{ChatText:ChatText},
success:function(){
$("#ChatText").val("");
}
});
}
});
});
</script>
</head>
<body>
<h2>Welcome <span style="color:green"><?php echo $_SESSION['UserName'];?></span></h2>
</br></br>
<div id="ChatBig">
<div id="ChatMesseges">
</div>
<textarea id="ChatText" name="ChatText"></textarea>
</div>
</body>
</html>
答案 0 :(得分:0)
您应该在按键时阻止默认行为。使用e.preventDefault()
或return
执行此操作,然后运行您的代码。
答案 1 :(得分:0)
您必须取消enter
keypress
事件的默认行为。将其添加到您的代码中:
$("#ChatText").keypress(function(e) {
if(e.keyCode ==13){
return false;
}
}
请注意,这是一个不同的事件;按原样保留keyup
处理,或者更改代码以响应keypress
事件而不是keyup
事件,并在其中添加return false;
。两种方式都很好。