Adobe javascript: необходимо получить значение поля (SCORE) и вернуть текст (PASS / FAIL) - PullRequest
1 голос
/ 03 апреля 2020

У меня нет опыта JavaScript, и я надеюсь, что кто-то может помочь мне с вычислением формы Adobe.
Я создаю карту оценок Pass / Fail, которая будет принимать значение из поля (Calc_OScore), а затем вернуть слово (Perfect !, Pass, Fail) на основе оценки.

Из-за недостатка опыта и невежества мои попытки сделать эту работу были не более чем копированием / вставкой проб и ошибок из сценариев и опыта других.
Я пробовал это:

var text;
if ("Calc_OScore" == "16") {
	text = "PERFECT!!";
} else if ("Calc_OScore" > "11") {
	text = "PASS";
} else {
	text = "FAIL";
}

И один из них:

var int1=this.getField("E_score").value;
var int2=this.getField("S_score").value;
var int3=this.getField("P_score").value;
var int4=this.getField("C_score").value;
var tSum = (int1+int2+int3+int4);
var rVal = 'NULL';
if(tSum===16){
	rVal='PERFECT SCORE!';
}else if(tSum>11){
	rVal='NOT PERFECT BUT OKAY!';
}else{
	rVal='FAIL';
}
return rVal;

Но я почти уверен, что это не JavaScript.

Может кто-нибудь помочь здесь? Если вам легче понять, что я пытаюсь выполнить sh, вот как выглядела моя формула в Excel: = IFS (F31 = 16, «PERFECT!», F31> 11, «PASS», TRUE, « СБОЙ ")

1 Ответ

0 голосов
/ 03 апреля 2020

Добро пожаловать в переполнение стека.

У меня есть два совета. Для начала ("Calc_OScore" == "16") никогда не будет правдой. Если это в кавычках, это строка.

Я не очень знаком с JavaScript в контексте Adobe, но мне кажется, что ваш второй пример немного ближе. Я догадываюсь, что var tSum = (int1+int2+int3+int4); является правильным, но все значения (int1, int2 и т. Д. c.) Могут быть строками. Вы можете привести строки в целые числа с помощью parseInt, например, parseInt(int1).

...