输入键表单提交失败,HTML5日期输入
Enter key form submission fails with HTML5 date input
我有一个小HTML表单(下面的代码),它实际上分为两部分,我希望用户能够通过只在其中一部分按回车键来提交表单(下面代码中的"input";显示属性由连接到表单第二部分中的选择的一点javascript切换)。目前,我正在用一点jQuery/javascript(也在下面)来处理这个问题,以将回车键绑定到表单提交。
HTML:
<form id="form">
<span id="input">
<span id="text" style="display:inline">
<input type="text">
</span>
<span id="dates" style="display:none">
<input type="date" id="start">
<input type="date" id="end">
</span>
</span>
<select onchange="changeInput(this.options[selectedIndex].value)">
<option value="1">option 1</option>
<option value="2">option 2</option>
</select>
</form>
以及jQuery/javascript:
$(function(){
$("#input").on("click", function(e){
if(e.which == 13){
$("#form").submit();
}
});
});
当显示文本输入时,这就可以正常工作。但是,当显示日期输入时,回车键不起任何作用。无论浏览器是否显示本机日历小部件,或者在不支持日期输入类型(由另一个jQuery/javascript处理)的浏览器中,输入是否被jQueryUI日期选择器小部件替换,都会出现这种情况。
知道为什么会发生这种事吗?我知道我可以通过添加一个隐藏的提交按钮并覆盖表单第二部分的回车键行为来绕过它,但我想先了解发生了什么。
对于click
事件,e.which
可以是1、2或3(来自jQuery文档)。
因此,例如,对于鼠标左键单击,它应该是:
if (e.which == 1)
相关文章:
- 是否可以为HTML5输入滑块触发oninput事件
- Html5输入属性的默认值,如最小值、最大值、大小等
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 使用动态用户输入在 HTML5 中创建画布多边形
- 为什么除了html5输入模式属性之外,这个简单的regex在任何地方都能工作
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- 使用 HTML5<输入>字段抓取动态生成的网页
- HTML5范围输入重新加载
- HTML5 输入类型 = 数字更改步骤行为
- HTML5:类型为“”的输入中的附加字符;数字”;
- html5画布上的键输入不总是有响应
- 如何从HTML5输入中删除验证错误
- 使用angularJS设置HTML5日期输入字段的默认值
- 如何从'输入类型'在HTML5 FileReader中
- 想要初始化“;min”;输入类型的属性=“;日期“;在HTML5中,具有特定日期格式的日期值
- HTML5:如何创建一个“;范围输入类型“;具有动态值
- 在一些Android设备/Chrome上,HTML5数字输入中没有小数点
- HTML5输入类型radio向Javascript返回值
- HTML5输入颜色,可编辑输入
- 如果用户输入HTML5 URL, AngularJS返回404,如果重定向到同一视图,则工作正常