2015-05-28 2 views
0

Я создал форму PDF, чтобы помочь создать оценку для работ по сантехнике. Существуют различные линии, которые подрядчик заполняет для quanity, стоимость элемента и затем автоматически вычисляет цену для этой линии; это прекрасно работает.Расчет Acrobat PDF с флажком

Но теперь я хочу добавить флажок в строку, чтобы клиент мог проверить, действительно ли они хотят, чтобы эта работа была выполнена. Если флажок, то цена будет отображаться в конечном поле, в противном случае он будет отображать 0.

Мои поля: QtyRow2 ItemCostRow2 CheckboxRow2 PriceRow2

Я попробовал этот код Javascript на вкладке Расчет для поле PriceRow2, но оно отображает «0» в поле цены, установлен ли флажок или нет.

var oFldQty = this.getField("QtyRow2"); 
var oFldItem = this.getField("ItemCostRow2"); 

if (this.getField("CheckboxRow2").isBoxChecked(0)) { 
    nSubTotal = oFldQty.value * oFldItem.value; 
} else { 
    nSubTotal = 0; 
} 

event.value = nSubTotal; 

Как изменить это, чтобы заставить его работать?

ответ

0

Если это весь код при вычислении, было бы безопаснее определить nSubTotal; в противном случае он определяется как глобальная переменная и может вести себя странно.

Кроме того, всякий раз, когда этот расчет выполняется, а результаты теста равны false, значение nSubTotal равно 0. Это означает, что вы должны определить nSubTotal, а затем добавить к нему во время работы через форму.

Если вы хотите просто получить результат в поле, нет необходимости делать обход через переменную; вы можете установить event.value в true и false.

Для единственного флажка имхо проще использовать его значение (или его «непроверенное» значение для переносимости причин кода). Это приводит к следующему фрагменту кода:

if (this.getField("CheckboxRow").value != "Off") { 
    // box is checked 
    event.value = oFldQtyty.value * oFldItem.value ; 
} else { 
    // box is unchecked 
    event.value = 0 ; 
} 

И это должно быть сделано.

Однако, поскольку у вас есть таблица, лучше всего консолидировать все вычисления в один скрипт, который может быть привязан к скрытому полю только для чтения, который даже не участвует в самом вычислении. Это дает вам гораздо лучший обзор и контроль за расчетом и предотвращает ошибки порядка расчета.

+0

Отлично! Спасибо! – user6634

Смежные вопросы