HTML表单-当焦点位于选择列表上时,使用enter键触发表单提交不起作用
我被上述问题难住了。我有一个简单的表单,如下所示,带有文本输入、选择列表和提交按钮。当焦点在文本输入上,我点击回车键时,表单提交。如果焦点在选择列表上,则提交不会触发。无论哪个字段有焦点,我都希望提交表单HTML表单-当焦点位于选择列表上时,使用enter键触发表单提交不起作用,html,forms,submit,Html,Forms,Submit,我被上述问题难住了。我有一个简单的表单,如下所示,带有文本输入、选择列表和提交按钮。当焦点在文本输入上,我点击回车键时,表单提交。如果焦点在选择列表上,则提交不会触发。无论哪个字段有焦点,我都希望提交表单 <html> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server">
<html>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id='text1'/>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<input type='submit' onclick='alert("you submitted the form")'/>
</div>
</form>
</body>
</html>
沃尔沃汽车
萨博
梅赛德斯
奥迪
默认情况下,firefox会这样做,因为ie需要某种类型的javascript函数,因为ie会将输入时提交绑定到输入。使用enter选择选项是正常的浏览器行为
您可以做的是将侦听器附加到select元素的keyDown事件,并在用户按下enter时提交表单。
例如使用jQuery:
$('#your-select').keydown(function(e){
if (e.keyCode == 13) {
$('#your-form').submit();
} });
<>你应该考虑它打破了标准,会给用户用键盘导航带来问题。这是选择元素的标准行为。您可以点击制表器,然后进入。应该没那么难:)+1作为最后的评论。这是标准的浏览器行为,别管它。当在选择框中使用上/下箭头时,键盘用户需要使用Enter键来选择当前选项。是的,这完全适用于您使用Enter键选择值。那么…我如何测试select是否被扩展(不考虑标准行为)和关闭?让我的用户代表确信这是个坏主意