单击打开 DateTimePicker 的输入字段后(我们使用 this one from mobiscroll),我们的 Android HTML5 应用程序崩溃并在 parseInt 处出现 NumberFormatException(它试图解析“11.07.1993”)。显然它不应该解析日期。奇怪的是,这个 Bug 只发生在 Samsung Galaxy S3 上。
调用 mobiscroller 的代码如下所示:
$(function ()
{
// create a datepicker
$("#ti_gebdat").mobiscroll().date(
{
display: 'bottom',
dateFormat: 'dd.mm.yy',
dateOrder: 'ddmmyy',
lang: 'de',
onBeforeShow: function (html, inst)
{
inst.setDate(dataclass.gebDat, true, 2);
}
});
$("#ti_gebdat").bind('change', function (event)
{
var dt = $.mobiscroll.parseDate('yy-mm-dd',event.target.value,'');
event.target.value = $.mobiscroll.formatDate('dd.mm.yy', dt, '');
dataclass.setGebDat(dt);
});
$('#ti_gebdat').scroller('option', { maxDate: new Date() });
});
输入框是这样的:
<input name="ti_gebdat" id="ti_gebdat" style="text-align: right"
placeholder="" value="" type="date" readonly>
如何让它也能在 Galaxy S3 上运行?
更新
在 Galaxy S4 上也会崩溃。
最佳答案
问题是 Samsung Galaxy S3 和 S4 实际上支持元素 input
with type="date"
并调用它自己的 DatePicker。由于同时调用了mobiscroll DatePicker,导致崩溃。从 input
元素中删除 date
可以解决问题。
关于javascript - 三星 Galaxy S3 上的 Mobiscroll ParseInt 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594386/