科尔多瓦应用中输入类型日期的问题
问题描述:
我使用input type=date
来捕获用户的日期。因为我们不能对输入的占位符(类型=日期),我也做了以下内容:科尔多瓦应用中输入类型日期的问题
- 创建的输入字段与一个占位符中输入文字JS
- ,焦点,改变类型迄今为止
$("#datefield").on('focus', function() { $("#datefield").attr('type', 'date'); })
在IOS,这是工作完全正常,并带来了本地日期选择器每次我在点击输入区域。 但在android中,它带来了本机日期选择器,但我必须点击两次。调试完成后,我首先发现它经历了焦点事件并将类型更改为日期。在第二次点击时,它不会通过事件,但会带来本机键盘。之后,只要我留在该页面上,因为该类型已更改为日期,它将带来一个点击本机日期选择器。
我是否正确地处理它?我究竟做错了什么?有没有更好的方法来做到这一点?
P.S.我想尽可能避免使用插件。我正在使用HTML,CSS,JS,Jquery
答
尝试使用onfocus属性将文本字段更改为日期字段。
我希望这有助于你...
<input placeholder="Date" type="text" onfocus="(this.type='date')" id="date">
或使用jQuery
$('input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"]').each(function() {
var el = this, type = $(el).attr('type');
if ($(el).val() == '') $(el).attr('type', 'text');
$(el).focus(function() {
$(el).attr('type', type);
el.click();
});
$(el).blur(function() {
if ($(el).val() == '') $(el).attr('type', 'text');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input name="date" type="date" placeholder="Date">
的Praveen嗨,我已经试过这一点。但键盘并没有出现。 – andy
尝试删除onblur属性 – PraveenKumar
我会尝试今天进行测试,并会保持更新。 – andy