在“输入”按键上提交表格


submit a form on 'enter' key press

我想在"输入"键中提交表单值。我现在有一个按钮搜索来提交值值。但我想在没有搜索按钮的情况下进行输入键。

  html
    <input class="stxt" type="text" name="searchtxt"><a style="padding-right:2ex;"></a>
   <button name="search" class="search">Search</button></p>
  php
     if(isset($_REQUEST['search']))
       {
         $search=$_REQUEST['searchtxt'];
         some code here
       }

尝试下面的代码它将起作用。我只编码了没有按钮。

<?php 
if(isset($_POST['search']))
{
    echo $search = $_POST['search'];
}
?>
<html>
<head>
<script>
    document.onkeydown=function(evt){
        var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;
        if(keyCode == 13)
        {
            //your function call here
            document.test.submit();
        }
    }
</script>
</head>
<body>
<form name="test" action="#" method="POST">
<input type="text" name="search" />
</form>
</body>
</html>

如果我理解正确,您希望在每次按键时触发 php 代码,在这种情况下,好的解决方案将使用 AJAX。

 $( "#target" ).keypress(function(e) {
     $.ajax({
            url: "logic.php",
            type: post,
            data: $('form').serialize(),
            success: function( data ) {
                //Process data received from server.
            }
          });
 });

每次按键时,所有表单数据都将被序列化并发送到服务器,您可以在其中执行逻辑。

该按钮应该在Enter提交,如果不是,则 HTML 中有一些您没有提供的内容。您已经用JQuery标记了问题,但没有提供任何代码,所以我只能假设您仅通过PHP提交表单。

查看按钮文档。那里有两段与您的情况相关。

表单 HTML5
与按钮关联的表单元素(其表单所有者)。属性的值必须是 元素。如果此属性不是 指定,元素必须是表单的后代 元素。此属性使您能够放置元素 文档中的任意位置,而不仅仅是其后代 元素。

这意味着要使按钮提交表单,它必须位于form标记内。如果不是,则需要像这样指定表单 ID。

<button form="form_id"> 

第二条相关信息。

类型
按钮的类型。可能的值为:
提交:该按钮将表单数据提交到服务器。如果未指定属性,或者属性为 动态更改为空值或无效值。
重置:该按钮将所有控件重置为其初始值。
按钮:该按钮没有默认行为。它可以具有与元素事件关联的客户端脚本,这些脚本在以下情况下触发 事件发生。

由于type默认为 submit ,这意味着表单将使用Enter密钥提交。