按下回车键时如何提交表格?

时间:2020-03-05 18:43:47  来源:igfitidea点击:

有人可以告诉我如何在按下回车键并且表单中没有按钮时如何提交HTML表单吗?
提交按钮不存在。我使用的是自定义div而不是那个。

解决方案

回答

我们为什么不只将div提交样式应用于提交按钮?我敢肯定有一个JavaScript的,但这会更容易。

回答

这是我使用jQuery的方法

j(".textBoxClass").keypress(function(e)
{
    // if the key pressed is the enter key
    if (e.which == 13)
    {
        // do work
    }
});

其他的javascript也不会太不同。捕获正在检查按键参数" 13",这是回车键

回答

使用以下脚本。

<SCRIPT TYPE="text/javascript">
<!--
    function submitenter(myfield,e)
    {
        var keycode;
        if (window.event) keycode = window.event.keyCode;
        else if (e) keycode = e.which;
        else return true;

        if (keycode == 13)
        {
            myfield.form.submit();
            return false;
        }
        else
            return true;
    }
//-->
</SCRIPT>

对于用户单击回车时应提交表单的每个字段,请按以下方式调用submitenter函数。

<FORM ACTION="../cgi-bin/formaction.pl">
    name:     <INPUT NAME=realname SIZE=15><BR>
    password: <INPUT NAME=password TYPE=PASSWORD SIZE=10
       onKeyPress="return submitenter(this,event)"><BR>
<INPUT TYPE=SUBMIT VALUE="Submit">
</FORM>

回答

要在按下Enter键时提交表单,请按照以下步骤创建一个javascript函数。

function checkSubmit(e) {
   if(e && e.keyCode == 13) {
      document.forms[0].submit();
   }
}

然后将事件添加到所需的任何范围,例如div标签上:

&lt;div onKeyPress =" return checkSubmit(event)" />

无论如何,这也是Internet Explorer 7的默认行为(也可能是早期版本)。

回答

IMO,这是最干净的答案:

<form action="" method="get">
  Name: <input type="text" name="name"/><br/>
  Pwd: <input type="password" name="password"/><br/>
  <div class="yourCustomDiv"/>
  <input type="submit" style="display:none"/>
</form>

更好的是,如果我们使用javascript通过自定义div提交表单,则还应该使用javascript创建表单,并在按钮上设置display:none样式。这样,禁用了javascript的用户仍将看到"提交"按钮,然后可以单击它。

已经注意到,display:none会导致IE忽略输入。我创建了一个新的JSFiddle示例,该示例以标准形式开始,并使用渐进增强功能来隐藏提交并创建新的div。我确实使用了StrippingWarrior的CSS样式。

回答

如果我们使用的是asp.net,则可以在表单上使用defaultButton属性。

回答

我认为我们实际上应该有一个提交按钮或者一个提交图像...我们是否有使用" submit div"的特定原因?如果我们只想要自定义样式,则建议使用<input type =" image" ...`。 http://webdesign.about.com/cs/forms/a/aaformsubmit_2.htm