Я хочу создать форму, которая позволит пользователю заблокировать свои соответствующие поля, а также снова разблокировать их, если им потребуется изменить или обновить какую-либо информацию.Затем форма должна быть отправлена обратно в компанию, где она заполнена, но компания не должна иметь возможность писать / редактировать поля ввода пользователя.
Наиболее близким решением, с которым я столкнулся, является сценарий, который требует от пользователя ввода пароля при нажатии кнопки, и этот пароль затем блокирует / разблокирует форму.Однако пароль должен быть установлен пользователем, в идеале, при первом нажатии кнопки.В настоящее время это уже определено в сценарии, что означает, что компании придется поделиться паролем с пользователем, отказавшись от цели блокировки полей.
Это код, описанный выше.Все, что приближает меня, очень ценится:
(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;
}
})();