gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 02:49:34 26 4
gpt4 key购买 nike

为什么 <form>用一个<input>当用户输入值并按下 Enter 时,字段将重新加载表单,如果 <form> 中有 2 个或更多字段,则不会重新加载表单。 ?

我写了一个simple page来测试这个奇怪的现象。

如果您在第二个表单中输入一个值并按 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>

最佳答案

这是一个鲜为人知的“怪癖”,已经出现了一段时间。我知道有些人已经通过各种方式解决了这个问题。

在我看来,最简单的绕过方法是简单地使用不向用户显示的第二个输入。尽管后端并非所有用户都友好,但它确实可以解决问题。

我应该指出,我听到这个问题的最常见的地方是 IE,而不是 FireFox 或其他。虽然它似乎也影响了他们。

关于javascript - 为什么在输入时按回车键会提交具有单个输入字段的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1370021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com