У меня есть форма FormStack, в которой используется встроенный код JavaScript, чтобы вызвать API и заполнять раскрывающийся список. Как только я выбираю значение, соответствующие данные JSON анализируются и отображаются на экране в каждом поле, как Empname, Empemail, Supervisoremail, Empfirstname, EmplastName, SuperSorid, Empid, DeptName. Однако, как только я отправлю форму, введенные данные из выбора не сохраняются в FormStack и не включены в отправленную электронную почту. Если я вручную ввожу в инъекционные поля, сохранены значения. Ищу помощь при исправлении. < /P>
```
document.addEventListener("DOMContentLoaded", async function () {
var getLocationHost = window.location.host;
let apiURL;
if (getLocationHost.includes("test")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("dev")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("intg")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("uat")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("stage")) {
apiURL = 'hidden for asking help on stackoverflow';
} else {
apiURL = 'hidden for asking help on stackoverflow';
}
// Field IDs in Formstack
const DROPDOWN_FIELD_ID = 'field180567125';
const EMP_NAME_FIELD_ID = 'field180567127';
const EMP_EMAIL_FIELD_ID = 'field180626437';
const SUPERVISOR_EMAIL_FIELD_ID = 'field180567128';
const EMP_FIRST_NAME_FIELD_ID = 'field180567129';
const EMP_LAST_NAME_FIELD_ID = 'field180567130';
const SUPERVISOR_ID_FIELD_ID = 'field180567519';
const EMP_ID_FIELD_ID = 'field180567520';
const DEPT_NAME_FIELD_ID = 'field180567695';
try {
const response = await fetch(apiURL);
if (!response.ok) throw new Error("Error fetching employee data");
let employeeData = await response.json();
// Sort employee data
employeeData.sort((a, b) => a.empNameAndDept.localeCompare(b.empNameAndDept,
undefined, { sensitivity: 'base' }));
const dropdown = document.getElementById(DROPDOWN_FIELD_ID);
if (!dropdown) return console.error("Dropdown field not found");
// Populate dropdown
dropdown.innerHTML = "";
let defaultOption = new Option("Select an employee", "");
dropdown.add(defaultOption);
employeeData.forEach(employee => {
let option = new Option(employee.empNameAndDept, String(employee.empId));
dropdown.add(option);
});
// Change event listener
dropdown.addEventListener("change", function () {
setTimeout(() => {
const selectedEmpId = String(dropdown.value);
const selectedEmployee = employeeData.find(emp => String(emp.empId) ===
selectedEmpId);
if (selectedEmployee) {
document.getElementById(EMP_NAME_FIELD_ID).value =
selectedEmployee.empName || "";
document.getElementById(EMP_EMAIL_FIELD_ID).value =
selectedEmployee.empEmail || "";
document.getElementById(SUPERVISOR_EMAIL_FIELD_ID).value =
selectedEmployee.supervisorEmail || "";
document.getElementById(EMP_FIRST_NAME_FIELD_ID).value =
selectedEmployee.empFirstName || "";
document.getElementById(EMP_LAST_NAME_FIELD_ID).value =
selectedEmployee.empLastName || "";
document.getElementById(SUPERVISOR_ID_FIELD_ID).value =
selectedEmployee.SupervisorId || "";
document.getElementById(EMP_ID_FIELD_ID).value =
selectedEmployee.empId || "";
document.getElementById(DEPT_NAME_FIELD_ID).value =
selectedEmployee.deptName || "";
}
}, 100);
});
} catch (error) {
console.error("Error fetching or populating employee data:", error);
}
});
< /code>
Подробнее здесь: https://stackoverflow.com/questions/794 ... rsed-displ
FormStack. DDL предоставил данные через API. Когда значение выбранного JSON PARSED & отображается на экране в соответств ⇐ Javascript
Форум по Javascript
1740332527
Anonymous
У меня есть форма FormStack, в которой используется встроенный код JavaScript, чтобы вызвать API и заполнять раскрывающийся список. Как только я выбираю значение, соответствующие данные JSON анализируются и отображаются на экране в каждом поле, как Empname, Empemail, Supervisoremail, Empfirstname, EmplastName, SuperSorid, Empid, DeptName. Однако, как только я отправлю форму, введенные данные из выбора не сохраняются в FormStack и не включены в отправленную электронную почту. Если я вручную ввожу в инъекционные поля, сохранены значения. Ищу помощь при исправлении. < /P>
```
document.addEventListener("DOMContentLoaded", async function () {
var getLocationHost = window.location.host;
let apiURL;
if (getLocationHost.includes("test")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("dev")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("intg")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("uat")) {
apiURL = 'hidden for asking help on stackoverflow';
} else if (getLocationHost.includes("stage")) {
apiURL = 'hidden for asking help on stackoverflow';
} else {
apiURL = 'hidden for asking help on stackoverflow';
}
// Field IDs in Formstack
const DROPDOWN_FIELD_ID = 'field180567125';
const EMP_NAME_FIELD_ID = 'field180567127';
const EMP_EMAIL_FIELD_ID = 'field180626437';
const SUPERVISOR_EMAIL_FIELD_ID = 'field180567128';
const EMP_FIRST_NAME_FIELD_ID = 'field180567129';
const EMP_LAST_NAME_FIELD_ID = 'field180567130';
const SUPERVISOR_ID_FIELD_ID = 'field180567519';
const EMP_ID_FIELD_ID = 'field180567520';
const DEPT_NAME_FIELD_ID = 'field180567695';
try {
const response = await fetch(apiURL);
if (!response.ok) throw new Error("Error fetching employee data");
let employeeData = await response.json();
// Sort employee data
employeeData.sort((a, b) => a.empNameAndDept.localeCompare(b.empNameAndDept,
undefined, { sensitivity: 'base' }));
const dropdown = document.getElementById(DROPDOWN_FIELD_ID);
if (!dropdown) return console.error("Dropdown field not found");
// Populate dropdown
dropdown.innerHTML = "";
let defaultOption = new Option("Select an employee", "");
dropdown.add(defaultOption);
employeeData.forEach(employee => {
let option = new Option(employee.empNameAndDept, String(employee.empId));
dropdown.add(option);
});
// Change event listener
dropdown.addEventListener("change", function () {
setTimeout(() => {
const selectedEmpId = String(dropdown.value);
const selectedEmployee = employeeData.find(emp => String(emp.empId) ===
selectedEmpId);
if (selectedEmployee) {
document.getElementById(EMP_NAME_FIELD_ID).value =
selectedEmployee.empName || "";
document.getElementById(EMP_EMAIL_FIELD_ID).value =
selectedEmployee.empEmail || "";
document.getElementById(SUPERVISOR_EMAIL_FIELD_ID).value =
selectedEmployee.supervisorEmail || "";
document.getElementById(EMP_FIRST_NAME_FIELD_ID).value =
selectedEmployee.empFirstName || "";
document.getElementById(EMP_LAST_NAME_FIELD_ID).value =
selectedEmployee.empLastName || "";
document.getElementById(SUPERVISOR_ID_FIELD_ID).value =
selectedEmployee.SupervisorId || "";
document.getElementById(EMP_ID_FIELD_ID).value =
selectedEmployee.empId || "";
document.getElementById(DEPT_NAME_FIELD_ID).value =
selectedEmployee.deptName || "";
}
}, 100);
});
} catch (error) {
console.error("Error fetching or populating employee data:", error);
}
});
< /code>
Подробнее здесь: [url]https://stackoverflow.com/questions/79461673/formstack-ddl-supplied-data-via-an-api-when-value-selected-json-parsed-displ[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия