Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 钛Appcelerator-在文本字段中输入出生日期_Javascript_Android_Ios_Titanium Mobile_Appcelerator Titanium - Fatal编程技术网

Javascript 钛Appcelerator-在文本字段中输入出生日期

Javascript 钛Appcelerator-在文本字段中输入出生日期,javascript,android,ios,titanium-mobile,appcelerator-titanium,Javascript,Android,Ios,Titanium Mobile,Appcelerator Titanium,我正在尝试格式化我的文本字段,用户将在其中输入他的出生日期 当前,当用户开始键入第三个字符时,我正在添加“/” 但当用户键入第二个字符时,我需要添加“/” 请在下面找到我的代码 $.dobTextfield.addEventListener("change", function (event) { var dobValue = $.dobTextfield.value; dobValue = dobValue.replace(/\//g, ''); var newVal

我正在尝试格式化我的文本字段,用户将在其中输入他的出生日期

当前,当用户开始键入第三个字符时,我正在添加“/”

但当用户键入第二个字符时,我需要添加“/”

请在下面找到我的代码

$.dobTextfield.addEventListener("change", function (event) {
    var dobValue = $.dobTextfield.value;

    dobValue = dobValue.replace(/\//g, '');
    var newVal = '';
    var sizes = [2, 2, 4];

    for (var i in sizes) {
        if (dobValue.length > sizes[i]) {
            newVal += dobValue.substr(0, sizes[i]) + '/';
            dobValue = dobValue.substr(sizes[i]);                   
        }
        else
            break;
    }           
    newVal += dobValue;
    $.dobTextfield.value = newVal;  
});

建议:使用日期选择器

我建议您用标签替换textfield(如果这很重要的话,可以将其样式设置为类似于textfield)

然后,我会在标签上添加一个click事件,它将显示一个日期选择器。

您可以根据日期选择器的值更新标签的值

现有代码的解决方案

var-oldValue;
$.dobTextfield.addEventListener(“更改”,函数(事件){
变量dobValue=$.dobTextfield.value;
//这将检查用户是否删除了斜杠和退格
//如果没有此选项,用户将无法删除后台空间
如果(oldValue==dobValue+“/”){
返回;
}
var newVal='';
变量大小=[2,2,4];
if(dobValue.length==2 | | dobValue.length==5){
dobValue+=“/”;
}
$.dobTextfield.value=dobValue;
oldValue=$.dobTextfield.value;
});
这将在用户键入第二个字符时输入斜杠,如果用户需要编辑日期,还将允许用户使用退格删除斜杠

其他注意事项

当前文本字段允许用户输入无效日期。例如,用户可以输入日期,如60/99/2018。使用日期选择器将消除此类验证的需要