为提交文本区域添加输入


Add enter for submit textarea

嗨,我创建了一个新的聊天框,每个聊天框都在工作,但当我点击回车键时,我需要发送一条消息(转到函数Kucaj())。你能帮我吗?我添加了一些输入代码,但没有成功。感谢

    <?php
session_start();
if(!isset($_SESSION['username'])){
?>
<form name="forma2" action="login.php" method="post">
<table>
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" />
<tr>
<td colspan="2"><input type="submit" name"submit" value"Login"/td>
</tr>
<tr>
<td colspan="2"><a href="register.php">Registruj se!</a></td>
</tr>

<?php
exit;
}
?>
<html>
<head>
<title>Maturski rad</title>
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script>
function Klikni(){
        if(forma1.msg.value == ''){
                alert('Upisi poruku!');
                return;
            }
            var msg = forma1.msg.value;
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.onreadystatechange = function(){
                    if(xmlhttp.readyState==4&&xmlhttp.status==200){
                            document.getElementById('chatlogs').innerHTML = xmlhttp.responseText;
                        }
 forma1.msg.value='';
                }
            xmlhttp.open('GET','insert.php?&msg='+msg,true);
            xmlhttp.send();
    }
    $(document).ready(function(e) {
        $.ajaxSetup({cache:false});
        setInterval(function() {$('#chatlogs').load('logs.php');}, 2000);
    });
</script>
</head>
<body>
<form name="forma1" action="#" id="forma1">
Username: <b><?php echo $_SESSION['username']; ?></b></br>
Poruka: <br />
<textarea name="msg" style="width:500px; height:100px"></textarea><br />
<a href="#" onclick="Klikni()"; class="button">Posalji</a><br /><br />
<a href="logout.php" class="button">Izloguj se</a><br /><br />
<script>
$("forma1").keypress(function(event) {
    if (event.which == 13) {
        event.Klikni();
    }}
    </script>
<div id="chatlogs">
Molim sacekajte da se ocita!!!
</div>

</body>
</html>

您只需将onsubmit=return Klikni();属性添加到表单中,将return false;添加到Klikni函数中,而无需使用.keypress()。用户按下回车键时提交的表单是默认行为。

function Klikni(e) {
  alert("Enter pressed");
  return false;
}
<form name="forma1" action="#" id="forma1" onsubmit="return Klikni();">
  Put your cursor into the field and press Enter.<br>
  <input type="text">
</form>

试试这个源,

form.submit(function(e) {
    e.preventDefault();              
    $(this).find('[type=submit]').click();
    $("form").submit();       
})

尝试按keydown而不是按以下键:

$("forma1").keydown(function(event) {

您可以这样使用。它应该像这个Klikni();而不是像event.Klikni();

<script>
$("forma1").keypress(function(event) {
    if (event.which == 13) {
        Klikni(); //no need of event there..    
    }}
    </script>