#javascript #acrobat
#javascript #acrobat
Вопрос:
Я хочу создать форму, которая позволяет пользователю блокировать свои соответствующие поля, но также разблокировать их снова, если им потребуется изменить или обновить какую-либо информацию. Затем форма должна быть отправлена обратно в компанию, где она будет заполнена, но компания не должна иметь возможности писать / редактировать поля пользовательского ввода.
Самое близкое решение, с которым я столкнулся, — это некоторый скрипт, который требует, чтобы пользователь вводил пароль при нажатии кнопки, и этот пароль затем блокирует / разблокирует форму. Пароль, однако, должен быть установлен пользователем, в идеале, при первом нажатии кнопки. В настоящее время это уже определено в скрипте, что означает, что компании придется поделиться паролем с пользователем, что сводит на нет всю цель блокировки полей.
Это код, описанный выше. Все, что приближает меня, было бы высоко оценено:
(function() {
// Prefix for group field names. Change to match what you want to use.
// Rename the fields you want to lock to match this prefix (e.g., "PRIV.NAME")
var f_prefix = "PRIV";
// Your chosen password goes here
var pw = "1234";
// Get a reference to the first field in the group
var f = getField(f_prefix).getArray()[0];
//Determine new readonly state, which is the opposite of the current state
var readonly = !f.readonly;
var readonly_desc = readonly ? "lock" : "unlock";
//Prompt user for the password
var resp = app.response({
cQuestion: "To" readonly_desc "the fields, enter the password:",
cTitle: "Enter password",
bPassword: true,
cLabel: "Password"
});
switch (resp) {
case pw:
getField(f_prefix).readonly = readonly;
app.alert("The fields are now " readonly_desc "ed.", 3);
break;
case null: // User pressed Cancel button
break;
default: // Incorrect password
app.alert("Incorrect password.", 1);
break;
}
})();
Ответ №1:
вы не можете сделать это в браузере, вам потребуется проверка сервером формы и пароля, иначе было бы легко отправить форму из браузера.
смотрите здесь пример того, на что будет похож код, validatePassword
предположим, чтобы отправить запрос на сервер для проверки пароля:
https://playcode.io/280470?tabs=consoleamp;style.cssamp;output