Проверка полей перед отправкой формы PDF

Я пытаюсь создать PDF-файл с кнопкой отправки, которая запускает собственный JavaScript. Цель кода — определить значение одного из полей формы, а затем запустить математическое уравнение, чтобы определить, следует ли отображать предупреждение пользователю или ему следует разрешить отправку.

Есть 3 сценария, которые я хочу учитывать, когда пользователь нажимает кнопку отправки:

  1. Если поле «CompletedValue» больше или равно 1 500 000, а уравнение возвращает значение меньше 40. Если это правда, форма должна выдать сообщение об ошибке 1.
  2. Если поле «CompletedValue» меньше 1 500 000 и уравнение возвращает значение меньше 25. Если это так, форма должна выдать сообщение об ошибке 2.
  3. Сценарий 1 и 2 неверны. Если это так, форма должна сгенерировать электронное письмо.

Для этого я написал следующий код, однако он не работает. Когда я нажимаю кнопку «Отправить», ничего не происходит.

var cV = this.getfield("CompletedValue").value;
var nV = cV - this.getfield("PresentValue").value;

var percentage = ( nV / cV ) * 100;

if (cV >= 1500000 && percentage < 40)
{
var error1= app.alert(errorMessage1,0,0,cTitle);
}

else if (cV < 1500000 && percentage < 25)
{
var error2= app.alert(errorMessage2,0,0,cTitle);
}

else 
{
this.mailDoc({bUI: true, cTo: cToAddr, cSubject: cSubLine, cMsg: cBody});
}

Любая помощь в том, чтобы заставить это работать, будет оценена по достоинству.


person Joe Cambareri    schedule 07.12.2016    source источник
comment
как выглядит кнопка отправки? Скорее всего, вы отправляете форму вместо выполнения кода. Когда вы нажмете кнопку отправки, выполните эту функцию, а затем эта функция отправит форму. Также вам может понравиться проверка полей формы Angularjs.   -  person Vinny    schedule 07.12.2016
comment
У меня установлено только одно событие для кнопки. При наведении мыши форма запускает этот javascript.   -  person Joe Cambareri    schedule 07.12.2016
comment
Можете ли вы разместить форму где-нибудь?   -  person joelgeraci    schedule 07.12.2016
comment
Вы должны иметь возможность просмотреть/загрузить его отсюда: scribd.com/document/ 333562277/   -  person Joe Cambareri    schedule 08.12.2016
comment
Вы получаете какие-либо сообщения об ошибках в консоли? Где-то определены сообщения об ошибках?   -  person Max Wyss    schedule 08.12.2016
comment
Я не могу открыть консоль? Извините, я новичок в работе с формами Adobe. В настоящее время я использую Adobe Acrobat 9 Standard. Консоль доступна только в профессиональной версии?   -  person Joe Cambareri    schedule 08.12.2016
comment
@MaxWyss да, errorMessage1 и errorMessage2 определены чуть выше этого раздела скрипта. Я пытался определить их как локально в операторе if, так и вне оператора. Кроме того, я проверил сообщения об ошибках и функцию почты по отдельности, и все 3 работают. Проблема, по-видимому, либо в математике, либо в самом операторе if.   -  person Joe Cambareri    schedule 08.12.2016


Ответы (1)


Я решил эту проблему, просто изменив регистр в первых двух утверждениях.

Случай, который я использовал изначально, был:

var cV = this.getfield("CompletedValue").value;

Это было исправлено на:

var cV = this.getField("CompletedValue").value;

Обратите внимание на заглавную букву «F» в поле getField.

person Joe Cambareri    schedule 08.12.2016