繁体   English   中英

输入密钥表单提交失败并输入HTML5日期

[英]Enter key form submission fails with HTML5 date input

我有一个小的HTML表单(下面的代码),该表单实际上分为两部分,我希望用户能够通过仅在这些部分之一(在下面的代码中为“输入”)上按Enter键来提交表单。属性可以通过与表单第二部分中的选择相关的一些javascript来切换。 目前,我正在使用一些jQuery / javascript(也在下面)来处理此问题,以将Enter键绑定到表单提交。

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();
        }
    });
});

显示文本输入时,这很好。 但是,当显示日期输入时,Enter键什么也不做。 无论是浏览器显示本机日历窗口小部件,还是在不支持日期输入类型的浏览器中(由另一位jQuery / javascript处理)输入被jQueryUI datepicker小部件替换的情况,都属于这种情况。

知道为什么会这样吗? 我知道我可以通过添加一个隐藏的“提交”按钮并覆盖表单第二部分的Enter键行为来解决该问题,但是我想了解首先发生了什么。

对于click事件e.which可以为1、2或3(来自jQuery docs )。

因此,例如,鼠标左键应为:

if (e.which == 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM