Por que os formulários com campo de entrada único são enviados ao pressionar a tecla Enter na entrada
Por que é que um<form>
com um único<input>
campo recarregará o formulário quando o usuário inserir um valor e pressionar oEntrar, e isso não acontece se houver dois ou mais campos no<form>
?
Eu escrevi umpágina simples para testar essa estranheza.
Se você inserir um valor no segundo formulário e pressionar Enter, você verá que ele recarregará a página passando o valor inserido como se você tivesse chamadoGET
. porque? e como evito isso?
<!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>