Hallo zusammen,
ich hab nach längerer Verschnaufpause mal wieder am Bestellformular gesessen, und als letzte Vorgabe gilt es, das Formular abschliessend zu sperren, damit es nicht mehr verändert werden kann. Das haut auch hin. Nur funktionieren die beiden Buttons Senden oder Drucken grad natürlich auch nicht mehr.
Da ich mir das Formular aus mehreren (meist hier im Forum gefundenen) Einzelbausteinen zusammengesetzt habe, bin ich auch nicht sicher, ob die Scripte optimal sind.
Wäre dankbar, wenn sich jemand von euch die Zeit nimmt, und mir Hilfestellung leistet.
nächtliche Grüße, doemsk
Alle Felder sperren bis auf Senden / Drucken
Alle Felder sperren bis auf Senden / Drucken
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Alle Felder sperren bis auf Senden / Drucken
Ich hab dein Script mal geändert.
1. Ich habe weder ein Objekt "Lock" noch "padlockopen" in deinem Formular gesehen, was haben die Skripte dann zu bedeuten?
2. Die Schleife zur Sperrung aller Felder sperrt jetzt alle Felder außer diese, die Schaltflächen sind.
So sieht das Skript dazu aus.
3. Das Skript im layoutReady:Event zum Entsperren solltest Du komplett löschen, da ersten das Objekt "Lock", das überprüft werden soll ohnehin nicht existiert und weil man Schleifen nicht in diesem Event benutzt, da es stest und ständig ausgelöst wird und die Schleifen das Formular dann sehr langsam werden lassen.
1. Ich habe weder ein Objekt "Lock" noch "padlockopen" in deinem Formular gesehen, was haben die Skripte dann zu bedeuten?
2. Die Schleife zur Sperrung aller Felder sperrt jetzt alle Felder außer diese, die Schaltflächen sind.
So sieht das Skript dazu aus.
Code: Alles auswählen
var nButton = app.alert({
cMsg: "Möchten Sie wirklich alle Felder unwiderruflich sperren? nnFortfahren?",
cTitle: "Bestätigung der Sperrung",
nIcon: 1,
nType: 2
});
if (nButton == 4) {
function lockFields(vNode) {
if (vNode.className === "field") {
if (vNode.ui.oneOfChild.className !== "button") {
vNode.access = "protected";
}
}
for (var i = 0; i < vNode.nodes.length; i++) {
lockFields(vNode.nodes.item(i));
}
}
lockFields(xfa.template);
this.presence = "invisible";
}