2

我需要使用回车键提交表单,但就我而言,它与本网站中的其他问题不同。我没有input[type="submit"],但我有一个按钮 ( <button id=""></button>)。

我的表格的完整代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/my_script.js" type="text/javascript"></script>

<form id="myForm" action="userInfo.php" method="post">
<textarea name="mesazhi" cols="35" rows="4"></textarea>
<?php $idiperdoruesit = $_SESSION['id']; ?>
<input type="hidden" name="idiperdoruesit" value="<?php echo $idiperdoruesit; ?>" />
<br /><button id="sub" style="border-radius:0px; border-size:2px; border-style:solid; border-color:#ffffff; border-width:thin; background-color:#000000; color:#ffffff; height:26px; width:60px;  font-size:16px;">Send</button>
</form>

当用户单击按钮发送时,jquery 函数将消息发送到数据库而不重新加载页面。下面是jquery函数:

$("#sub").click( function() {
 $.post( $("#myForm").attr("action"), 
         $("#myForm :input").serializeArray(), 
         function(info){ $("#result").html(info); 
   });
 clearInput();
});

$("#myForm").submit( function() {
  return false; 
});

function clearInput() {
    $("#myForm :input").each( function() {
       $(this).val('');
    });
}

如何按回车键发送消息?

4

2 回答 2

3

您可以使用keydown处理程序来执行此操作。返回键是键 13。

$('input').on( 'keydown', function( e ) {
  if( e.which == 13 ) {
    tickleAPolarBear();
    //or something like $('#myForm').submit();
  }
} );

有关 keydown 事件的更多信息,请参阅mdn

于 2013-08-19T15:01:37.133 回答
1

使用表单的提交事件,表单的默认行为是在单击提交按钮或在表单输入上按下回车键时提交。

$("#myForm").submit(function(){
    $.post( $("#myForm").attr("action"), 
         $("#myForm :input").serializeArray(), 
         function(info){ $("#result").html(info); }
    );
    clearInput();
    return false;
});

现在使您的按钮成为提交按钮并摆脱点击事件。现在,当您在文本区域以外的任何输入中按 Enter 时,表单将提交并且您的处理程序将被调用。不需要 keydown 事件处理程序和单击处理程序。

于 2013-08-19T15:03:35.053 回答