【问题标题】:How to make HTML form submit when Enter key pressed?按下 Enter 键时如何提交 HTML 表单?
【发布时间】:2015-05-29 18:53:54
【问题描述】:

我有以下 HTML 代码(来自一个更大的页面),它可以让我输入用户名和密码,还可以选择我要登录的服务器:

<form>
<b>Multi-server Login</b><p>
<table>
<tr><td colspan=2 align=left>
Enter your username and password:<br>
</td></tr><tr><td valign=top>
Username:&nbsp;
</td><td>
<input id='userid' size=20 class='fixed'>
</td></tr><tr><td valign=top>
Password:&nbsp;
</td><td>
<input type='password' id='passwd' size=20 class='fixed'><p>
</td></tr><tr><td valign=top>
Remote Host:&nbsp;&nbsp;
</td><td valign=top>
<select id='server'><br>
<option value='server1' selected>server1<br>
<option value='server2'>server2<br>
<option value='server3'>server3<br>
</select>
</td></tr>
</table>
<p>
<input type='button' value='Submit' id='but0' onclick=\"submitted.value='DONE';\">
<input type='hidden' id='submitted' value=''>
</form>

这很有效,当我点击“提交”按钮时,我的信息就会被提交。我的问题是,如何更改它以便我也可以通过按“Enter”键提交我的信息?我尝试从

更改提交按钮的输入行
<input type='button' value='Submit' id='but0' onclick=\"submitted.value='DONE';\">

<input type='submit' value='Submit' id='but0' onclick=\"submitted.value='DONE';\">

但这没有用;当我按下“Enter”键时,它只是导致页面产生错误。提前感谢所有回复的人。

【问题讨论】:

标签: html forms


【解决方案1】:

您必须具有表单的操作属性。尽可能多地使用 HTML 标准。因此,在操作中指定应该接收 POST 的页面,然后 ENTER 就可以正常工作了。

如果你想在它进入新页面之前做一些事情,你必须用 javascript 来阻止它。在 jQuery 中,您可以执行以下操作:

$('form').on('submit', function(e) {
  e.preventDefault();
  
  //Your actions goes here... like AJAX?
  
});

【讨论】:

  • 感谢您的回答。如果我理解正确,我需要将 &lt;form&gt; 行更改为 &lt;form action="the_same_page" method="get"&gt; 如果我不知道它的 URL,我应该将什么作为 Action 属性的值以使其保持在同一页面上?
  • action="/" 应该可以正常工作。或尝试将其完全留空。或输入您包含表单的文件。
  • 恐怕还是不行。也许这是我的错,因为在我原来的帖子中过于简单化了。 html实际上是由javascript程序生成的,相关函数是这样的:
  • ` objIE.document.writeln("
    " ); blnPwdBoxWait = '';做 { WScript.Sleep( 100 ); if (objIE.Visible) { blnPwdBoxWait = objIE.document.getElementById("提交").value; } } 而 ( blnPwdBoxWait=='' ); `
【解决方案2】:

我建议使用 jQuery 并使用 keypress 事件来捕获回车键。在此处理程序中,您可以发布表单。

【讨论】:

    猜你喜欢
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 2010-10-09
    • 2014-04-04
    • 2012-01-02
    相关资源
    最近更新 更多