Я разрабатываю формы в формате PDF и проверяю вход пользователя с использованием JavaScript и в зависимости от выбора пользователя в документе появляются разные ярлыки. Пожалуйста, обратитесь к моему пример кода ниже:Adobe PDF JavaScript для форм: группировка условий из инструкции If ... else
var countryofgrowth = this.getField("countryofgrowth").value;
var countryofgrowth = this.getField("sugarquality").value;
var countryofgrowth = this.getField("sugarQualitylevelhigh").value;
var countryofgrowth = this.getField("cornquantitymax").value;
var countryofgrowth = this.getField("cornquantity").value;
var type = this.getField("type").value;
if ((type == "sugar") && (countryofgrowth == "Afghanistan [AF]" || countryofgrowth == "Albania [AL]" || countryofgrowth == "Algeria [DZ]" || countryofgrowth == "Angola [AO]" || countryofgrowth == "Argentina [AR]" || ……))
{
getField("sugarlabel").display=display.visible;
getField("goodsugar").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
else if ((type == "sugar") && (countryofgrowth == "Australia [AU]" || countryofgrowth == "Belgium [BE]" || countryofgrowth == "Canada [CA]" || countryofgrowth == "Czech Republic [CZ]" || countryofgrowth == "Denmark [DK]" || …..))
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
if (sugarquality == "Low Quality")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.visible;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
else if (sugarquality == "High Quality")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.visible;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
if (sugarQualitylevelhigh == " More than 75%")
{
\t getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.visible;
getField("sugarQualitylevelhighmorethan75").display=display.visible;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
else if (sugarQualitylevelhigh == "Less than 75%")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.visible;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.visible;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
}
}
else if ((type == "Corn") && (countryofgrowth == "Aland Islands [AX]" || countryofgrowth == "Alderney" || countryofgrowth == "American Samoa [AS]" || countryofgrowth == "Andorra [AD]" || countryofgrowth == "Anguilla [AI]" || countryofgrowth == "Antarctica [AQ]" || ……))
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.visible;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
if (cornquantity == "More than 500t")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.visible;
getField("cornquantitymorethan500").display=display.visible;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
else if (cornquantity == "More than 1000t")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.visible;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.visible;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
if (cornquantitymax == "Yes")
{
\t getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.visible;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.visible;
getField("cornquantitymaxyes").display=display.visible;
getField("cornquantitymaxno").display=display.hidden;
}
else if (cornquantitymax == "No")
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.visible;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.visible;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.visible;
}
}
}
Мой текущий вопрос в том, что каждый из этой ||
- имеет от 20 до 90 стран. В настоящее время у меня есть 4 разных набора стран. Мой вопрос заключается в том, можно ли группировать или объявлять все эти наборы стран в пределах 4 разных переменных, а затем просто вызвать единую переменную, когда это необходимо?
Мой желаемый результат бы, было что-то вроде этого, но я не совсем уверен, как выполнить, ниже код не работает, только для иллюстрации, чтобы отразить желаемый результат:
var countryofgrowth = this.getField("countryofgrowth").value;
var countryofgrowth = this.getField("sugarquality").value;
var countryofgrowth = this.getField("sugarQualitylevelhigh").value;
var countryofgrowth = this.getField("cornquantitymax").value;
var countryofgrowth = this.getField("cornquantity").value;
var type = this.getField("type").value;
var Highriskcountries = ["Afghanistan [AF]", "Albania [AL]", "Algeria [DZ]", "Angola [AO]", "Argentina [AR]", .....];
var Lowriskcountries = ["Australia [AU]", "Belgium [BE]", "Canada [CA]", "Czech Republic [CZ]", "Denmark [DK]", .....];
var Mediumriskcountries = ["Aland Islands [AX]", "Alderney", "American Samoa [AS]", "Andorra [AD]", "Anguilla [AI]", "Antarctica [AQ]", .....];
var Acceptablecountries = ["Aland Islands [AX]", "Alderney", "American Samoa [AS]", "Andorra [AD]", "Anguilla [AI]", "Antarctica [AQ]", "Australia [AU]", "Belgium [BE]", "Canada [CA]", "Czech Republic [CZ]", "Denmark [DK]", .....];
if ((type == "sugar") && (countryofgrowth == Highriskcountries))
{
getField("sugarlabel").display=display.visible;
getField("goodsugar").display=display.hidden;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
else if ((type == "sugar") && (countryofgrowth == Lowriskcountries))
{
getField("sugarlabel").display=display.hidden;
getField("sugarquality").display=display.visible;
getField("sugarQualitylevellow").display=display.hidden;
getField("sugarQualitylevelhigh").display=display.hidden;
getField("sugarQualitylevelhighmorethan75").display=display.hidden;
getField("sugarQualitylevelhighlessthan75").display=display.hidden;
getField("cornquantity").display=display.hidden;
getField("cornquantitymorethan500").display=display.hidden;
getField("cornquantitymax").display=display.hidden;
getField("cornquantitymaxyes").display=display.hidden;
getField("cornquantitymaxno").display=display.hidden;
}
Также здесь выпадающие поля, которые я использую, чтобы задать пользователям начальные вопросы, в зависимости от их ответов будут отображаться поля раскрывающегося списка.
Ниже приведены текстовые поля, где я в настоящее время держать мой код, как я уже говорил в моих комментариях ниже, все мой код в настоящее время работает нормально, однако из-за ограничения по размеру коды, каждый из текстовых полей может Я должен был разделить код между 3 текстовыми полями, однако я столкнулся с проблемой, когда я не могу разбить некоторые из глубоко вложенных операторов if...else
, поэтому я прошу помощи сжать мой код, группируя страны.
Может ли кто-нибудь помочь внизу, любая помощь будет высоко оценена. – o0Lucky0o