繁体   English   中英

添加输入以提交文本区域

[英]Add enter for submit textarea

嗨,我创建了一个新的聊天框,所有的框都在工作,但是当我单击Enter发出消息时(需要转到功能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>

尝试这样的来源

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

尝试使用keydown代替keypress:

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

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

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

您可以只添加onsubmit=return Klikni(); 归因于您的表单并return false; 无需使用.keypress()即可将其.keypress()Klikni函数。 用户按Enter提交的表单是默认行为。

 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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM