Felder entsperren, wenn Fehler bei EMail versenden

Per Email, Webservices oder ähnliches...
Antworten
narrawong
Beiträge: 3
Registriert: 12.01.2011, 15:38
Wohnort: Engelskirchen

Felder entsperren, wenn Fehler bei EMail versenden

Beitrag von narrawong » 18.06.2020, 10:09

Hallo,

ich suche einen Code zur Aufhebung der Sperrung von Feldern, wenn es Probleme beim Versand der EMail gibt.

Mit Hilfe aus diesem Forum konnte ich ein Formular erstellen, das u.s. folgenden Button und Funktion per JavaScript enthält:
- Button E-Mail senden per click
- Pflichtfelder werden geprüft (ggf. Meldung)
- wenn alle Pflichtfelder ausgefüllt sind, dann alle Felder sperren
- E-Mail an Empfänger senden, die in einem Textfeld eingetragen wurden
- nach Versenden Felder entsperren

Code:
if(Valid){
app.runtimeHighlight = false;
xfa.layout.relayout();

// Felder sperren
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++) {
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++) {
oFields.item(nNodeCount).access = "readOnly";
}
}
//E-Mail senden
event.target.submitForm({
cURL: Mail,
bEmpty: true,
cSubmitAs: "PDF"
});

//Felder entsperren
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
{
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++)
{
oFields.item(nNodeCount).access = "open";
}
}
}


Das Funktioniert auch alles prima.
Manchmal gibt es aber irgendein Problem beim Versenden der Mail, z.B. Mail Programm funktioniert nicht und Vorgang wird abgebrochen - oder Nutzer ist ungeduldigt und bricht Vorgang ab :roll: .
Dann bleibt das Formular gesprerrt.
Gibt es eine Codezeile, die in diesem Fall die Sperrung aufhebt ?

Vielen Dank schon einmal vorab. Durch das Mitlesen hier habe ich das meiste gelernt.
Gruß
Kerstin

landei2003
Beiträge: 114
Registriert: 25.02.2011, 19:08

Re: Felder entsperren, wenn Fehler bei EMail versenden

Beitrag von landei2003 » 18.06.2020, 11:21

Hallo,
das Coding ist ja schon vorhanden:

Code: Alles auswählen

//Felder entsperren
// Get the field containers from each page.
for (var nPageCount = 0; nPageCount < xfa.host.numPages; nPageCount++)
{
var oFields = xfa.layout.pageContent(nPageCount, "field");
var nNodesLength = oFields.length;
// Set the field property.
for (var nNodeCount = 0; nNodeCount < nNodesLength; nNodeCount++)
{
oFields.item(nNodeCount).access = "open";
}
}
}
Grüße, Stephan

narrawong
Beiträge: 3
Registriert: 12.01.2011, 15:38
Wohnort: Engelskirchen

Re: Felder entsperren, wenn Fehler bei EMail versenden

Beitrag von narrawong » 18.06.2020, 11:29

Hallo Stephan,

ja, der Code zum Entsperren ist vorhanden.
Er funktioniert aber nur, wenn das vorher angegebene Submit der E-Mail korrekt durchlaufen wird.

Das Problem ist, wenn der Code beim Versenden stehen bleibt, dann kommt es nicht mehr zum Entsperren.

Meine Frage ist, ob es einen Code gibt, der ermöglich, einen Fehler beim Versenden zu erkennen und dann die Felder entsperrt (und ggf. eine Meldung anzeigt).

Danke und Gruß
Kerstin

landei2003
Beiträge: 114
Registriert: 25.02.2011, 19:08

Re: Felder entsperren, wenn Fehler bei EMail versenden

Beitrag von landei2003 » 18.06.2020, 12:28

Hallo Kerstin,

meines Wissens nach nicht,man könnte einen Dialog im PostSubmit Ereignis implementieren. Da wird der User gefragt ob das Senden erfolgreich war, wenn nicht werden die Felder entsperrt. Ist nur ne Idee von mir, gibt wahrscheinlich noch andere Möglichkeiten.







Grüße, Stephan

narrawong
Beiträge: 3
Registriert: 12.01.2011, 15:38
Wohnort: Engelskirchen

Re: Felder entsperren, wenn Fehler bei EMail versenden

Beitrag von narrawong » 23.06.2020, 17:30

Hallo Stephan,

danke für die Antwort.
Ich habe es jetzt anders gelöst, um das Problem zu umgehen.

Gruß
Kerstin

Antworten