Client- und Servercode in einer UI-Aktion verwenden
Sie können ein Skript verwenden, um die Eingabe bei einem Klick auf eine UI-Aktion auf der Client-Seite zu validieren, bevor Sie den Datensatz auf der Serverseite aktualisieren. Der Benutzer muss nicht zweimal auf die Schaltfläche klicken, um die Pflichtfelder zu validieren und den Datensatz zu aktualisieren.
Das Skript ruft die Clientfunktion für die clientseitige Validierung auf, und die UI Action schließt die Aufgabe ab, wenn sie erfolgreich ist. Der Code, der ohne die Anweisung onclick ausgeführt wird, stellt sicher, dass die serverseitige Funktion erst ausgeführt wird, wenn die Clientfunktion nicht mehr ausgeführt wird. Bei Erfolg wird die serverseitige Funktion ausgeführt, und der Datensatz wird aktualisiert.
// Client-side onclick function
function resolveIncident() {
// Set the 'Incident state' and 'State' values to 'Resolved', and display mandatory fields
g_form.setValue('incident_state', 6);
g_form.setValue('state', 6);
g_form.setValue('resolved_by', g_user.userID);
// Call the UI action and skip the 'onclick' function
gsftSubmit(null, g_form.getFormElement(), 'resolve_incident'); //MUST call the 'Action name' set in this UI Action
}
// Code that runs without 'onclick'
// Ensure call to server-side function with no browser errors
if (typeof window == 'undefined')
serverResolve();
// Server-side function
function serverResolve() {
current.incident_state = IncidentState.RESOLVED;
current.state = IncidentState.RESOLVED;
current.resolved_by = gs.getUserID();
current.update();
}
gsftSubmit(Zeichenfolgensteuerung, Objektformular, Zeichenfolge action_name)
Sendet ein Formular so, als ob der Anwender auf eine UI-Aktion geklickt hätte, nachdem es auf Pflichtfelder überprüft und onSubmit()- Client-Skripts ausgeführt hat. Aktiviert das Aufrufen von clientseitigem und serverseitigem Code in einer einzigen UI-Aktion.
| Name | Typ | Beschreibung |
|---|---|---|
| Kontrolle | Zeichenfolge | Name einer Formularschaltfläche, auf der Sie einen Anwenderklick simulieren möchten. Andernfalls verwenden Sie null. |
| Formular | Objekt | Optional. Das Formularelement, das die übermittelte Eingabe enthält. Sie können diesen Wert abrufen, indem Sie die Methode g_form.getFormElement() aufrufen. |
| action_name | Zeichenfolge | Aktionsname. Dieser Wert wird in dem Datensatz bereitgestellt, der in der Tabelle „UI-Aktionen“ [sys_ui_action] aufgeführt ist. Beispiel: |