Adobe pdf中的文档级字段目标功能

时间:2019-03-21 18:00:43

标签: javascript function pdf document

我不知道如何访问Adobe Acrobat pdf文件中文档级脚本中的字段。我有时间输入验证/格式脚本,已将其放入验证部分,但我有很多字段需要使用它。我宁愿有一个文档级功能,也可以通过传递输入的值参数来调用,但这就是我无法做到的。

为此,我有一个文档级功能来替换字符串字符:

function replaceAt(str, index, replacement)
{
return str.substr(0, index) + replacement+ str.substr(index + replacement.length);
}

如果timeValidate()如下所示,我想在验证字段中放入该函数:

function timeValidate() {
    //Get entered value
    var newTime = event.value;
    //Remove any symbols that are not numbers
    var newTime = newTime.replace(/[^0-9]/gi, "");
    //How many actual number symbols
    var length = newTime.length;  
    //Set the format string
    var hhmm = "00:00";
    if  (length == 0){ //If nothing entered leave empty
        hhmm="";
    } else if (length == 1) { // H -> 0H:00
        hhmm= replaceAt(hhmm, 1, newTime );
    } else if (length == 2) { // HH -> HH:00
        hhmm= replaceAt(hhmm, 0, newTime );
    } else if (length == 3) { // HMM -> 0H:mm
        hhmm= replaceAt(hhmm, 1, newTime[0]);
        hhmm= replaceAt(hhmm, 3, newTime[1]);
        hhmm= replaceAt(hhmm, 4, newTime[2]);
    } else if (length == 4) { // HHmm -> HH:mm
        hhmm= replaceAt(hhmm, 0, newTime[0]);
        hhmm= replaceAt(hhmm, 1, newTime[1]);
        hhmm= replaceAt(hhmm, 3, newTime[2]);
        hhmm= replaceAt(hhmm, 4, newTime[3]);
    } else if (length > 4) { //too long value
        hhmm="";
    }

    //REGX check if valid time 0 < HH < 24 & 00 < mm < 60, separated by :
    var RE_24hr = /^(2[0-3]|[0-1][0-9])(:)([0-5][0-9])$/;
    if(RE_24hr.test(hhmm) == false) {
        //Change color to red if invalid value enterd
        event.target.textColor = ["RGB",1,0,0];
    } else {
        //Proper values set to black, ant apply formated value HH:mm
        event.target.textColor = ["RGB",0,0,0];
        event.value = hhmm ;
    }
}

基本上,我输入的任何字段都将转换为适当的时间格式HH:mm。我已经尝试过使用scand函数,但是它需要完整的日期才能运行小时和分钟。所以我只是想将事件数据传递给函数

0 个答案:

没有答案