Nedávno jsem se setkal s požadavkem na vytvoření formuláře, který by se neodesílal při stisknutí klávesy Enter v jednom z formulářových polí. Při Enteru v ostatních polích se odesílat měl. Ve skutečnosti šlo o to, že na toto formulářové pole byla pověšená AJAXová komponenta. Při hledání řešení jsem nalezl celou řadu rad a návodů. V drtivé většině ale špatných. Pojďme se na jednotlivé možnosti řešení podívat.
Při použití dvou prvků "submit" v jednom formuláři k odeslání formuláře při stisknutí Enteru nedochází. Je to pochopitelné, prohlížeč neví jaký submit má zavolat. Do formuláře tedy stačí přidat druhý skrytý prvek submit. Toto nepříliš elegantní řešení má ovšem podstatnou nevýhodu v tom, že formulář nelze odeslat stisknutím Enteru v žádném formulářovém poli. A to je nestandardní a pro řadu uživatelů iritující.






