三星Galaxy S3上的Mobiscroll ParseInt例外

时间:2013-07-11 13:14:19

标签: javascript android html5 mobiscroll

单击打开DateTimePicker的输入字段(我们使用this one from mobiscroll)后,我们的Android HTML5应用程序在parseInt(它试图解析“11.07.1993”)中的NumberFormatException崩溃。显然它不应该解析日期。奇怪的是,这个Bug只发生在三星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崩溃。

1 个答案:

答案 0 :(得分:1)

问题是三星Galaxy S3 S4 确实支持input元素type="date"并调用自己的DatePicker。由于mobiscroll DatePicker也同时被调用,因此导致崩溃。从date元素中删除input可以解决问题。