当前位置: 首页 > 面试题库 >

为什么在输入中按下回车键时提交具有单个输入字段的表单

吕新
2023-03-14
问题内容

当用户输入一个值并按时,为什么只有<form>一个<input>字段的a会重新加载表单Enter,而如果其中有2个或更多字段,则<form>为什么没有?

我写了一个简单的页面来测试这种奇怪的情况。

如果您以第二种形式输入值并按Enter键,您会看到它重新加载了通过输入值的页面,就像您调用一样GET。为什么?以及如何避免呢?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>testFormEnter</title>
</head>
<body>
<form>
  <input type="text" name="partid2" id="partid2" />
  <input type="text" name="partdesc" id="partdesc"  />
</form>
  <p>2 field form works fine</p>
<form>
<input type="text" name="partid" id="partid"  />
</form>
<p>One field form reloads page when you press the Enter key why</p>
</body>
</html>

问题答案:

这是一个鲜为人知的“ Quirk”,已经问世了一段时间。我知道有人以各种方式解决了它。

在我看来,最简单的绕过方法就是简单地将第二个输入显示给用户。并非在后端授予所有这些用户友好的功能,它确实可以解决问题。

我应该注意,我听说此问题的最常见的地方是IE,而不是FireFox或其他。尽管它似乎确实也会影响到他们。



 类似资料:
  • 问题内容: 我正在编写一些javascript(lubricmonkey /用户脚本),它将一些输入字段插入网站上的表单中。 问题是,我不希望这些输入字段以任何方式影响表单,我不希望它们在提交表单时提交,我只希望我的JavaScript可以访问它们的值。 有什么办法可以将一些输入字段添加到表单的中间,而在提交表单时不提交它们呢? 显然,理想的情况是输入字段不在form元素中,但是我希望结果页面的布

  • 问题内容: 我有使用验证的表单字段。问题在于,呈现表单时会立即显示错误。我只希望在用户实际在文本字段中键入或提交后才显示它。 我该如何实施? 问题答案: 仅在用户与输入交互后,使用标志显示错误: 如果仅在用户提交表单后才想触发错误,则可以使用单独的标志变量,如下所示: 然后,如果表达式内的所有JS 看上去对您来说太多了,您可以将其抽象为一个单独的方法:

  • 我的页面中有以下javascript,它似乎不起作用。 我想在回车时禁用提交表单,或者更好的是,调用我的ajax表单提交。这两种解决方案都是可以接受的,但是我上面包含的代码不会阻止表单提交。

  • 问题内容: 如何仅在文本输入字段上使用Enter键提交表单,而不必添加提交按钮? 我记得以前曾经这样做过,但是现在我对其进行了测试,除非表单中有一个Submit-type输入字段,否则表单不会提交。 问题答案: $(“input”).keypress(function(event) { if (event.which == 13) { event.preventDefault(); $(“form

  • 问题内容: 我有以下html5输入元素: 为什么此输入允许在输入字段中输入字符“ e”?没有其他字母字符可以输入(按预期方式) 使用chrome v.44.0.2403.107 问题答案: 因为这正是规范所说的应该工作的方式。输入的数字可以接受浮点数,包括负号和或字符(其中指数是或后面的数字): 浮点数按以下顺序由以下部分组成: 可选地,第一个字符可以是“ ”字符。 “ ” 范围内的一个或多个字符

  • 我在一个页面上有几个html控件和一个搜索按钮。当用户在输入控件之外时(即焦点不在输入控件内),如果用户按enter键,我想触发搜索按钮的单击事件。搜索按钮不是按钮,也不在内 目前我正在做这个