PDF Javascipt, чтобы проверить, что список полей все содержат одинаковое значение
Я работаю над интерактивной формой PDF, которая требует ежедневных записей. Все записи за определенный день нужно добавить до 23,98 часов. Существует поле, содержащее общее количество за каждый день, которое называется Day1DayTotal
, Day2DayTotal
и так далее в течение каждого дня месяца. У меня есть кнопка отправки, которую я использую для выполнения некоторых дополнительных проверок перед отправкой формы. Код кнопки выглядит следующим образом:
var cProvider = this.getField("Provider").valueAsString;
var cParticipant = this.getField("Participant").valueAsString;
var cMonth = this.getField("Month").valueAsString;
var cYear = this.getField("Year").valueAsString;
var cParticipantInitials = cParticipant.match(/\b\w/g) || [];
var dMonth = cMonth.replace(",", "");
var dProvider = cProvider.replace(" ", "_");
var dDocName = this.documentFileName
cParticipantInitials = ((cParticipantInitials.shift() || '') + (cParticipantInitials.pop() || '')).toUpperCase();
//Validates required fields
var requiredFields = new Array();
for (var i = 0; i < this.numFields; i++)
{
var fName = this.getNthFieldName(i);
var f = this.getField(fName);
if (f.type!="button" && this.getField(fName).required && (this.getField(fName).value == null || this.getField(fName).value == '' || this.getField(fName).value == 'Off'))
{
requiredFields[requiredFields.length] = fName;}}
var error = "Please complete the following fields: \n\n";
for (j=0; j < requiredFields.length; j++)
{
if (requiredFields[j].value == null)
{
error = error + requiredFields[j] + '\n';
var f2 = this.getField(requiredFields[j]);
f2.setFocus();
}
}
if (requiredFields.length > 0){
app.alert(error);
}else if(dDocName != dProvider + "_" + cParticipantInitials + "_" + dMonth + "_" + cYear + ".pdf"){
app.alert("Opps! The file name does not meet the conditions necessary for submission. Please use the 'Create Monthly Working File' button on page 1 and follow the directions for saving the file with the proper name. After that, you may try to submit again.");
}else{
this.submitForm({cURL: "REMOVED FOR SECURITY REASONS", cSubmitAs: "PDF"});
app.alert("Your Family Living Daily Entries have been successfully submitted!", 3);
}
Этот код прекрасно работает для определения любых пустых обязательных полей и проверки соответствия имени файла спецификациям, но я не знаю, как добавить дополнительную проверку, чтобы убедиться, что каждый день также добавляет до 23,98 часов перед отправкой. Я знаю, что это должно быть сделано с каким-то массивом, но я вообще не понимаю массивы. Другая проблема заключается в том, что, когда моя форма создается с полями на 31 день, очевидно, не каждый месяц имеет 31 день, поэтому в один день будет общее количество полей, равное 0. Каждый день имеет дату, поэтому я думал, что поля, которые должны быть проверены, могут быть идентифицирован по наличию даты в поле даты. Следовательно Day1Date
не будет пустым, так Day1DayTotal
должно быть подтверждено, чтобы быть "23.98"
в то время как Day31Date
будет пустым в сентябре, так Day31DayTotal
следует игнорировать, например. Может кто-нибудь, пожалуйста, помогите мне создать массив, который может выполнять эту функцию? Спасибо!