Utilisation du code client et serveur dans une action d’interface utilisateur
Vous pouvez utiliser un script pour valider l’entrée lors d’un clic d’action d’interface utilisateur côté client avant de mettre à jour l’enregistrement côté serveur. L’utilisateur n’aura pas à cliquer deux fois sur le bouton pour valider les champs requis et mettre à jour l’enregistrement.
Le script appelle la fonction client pour la validation côté client, et l’action d’interface utilisateur termine la tâche si elle réussit. Le code qui s’exécute sans instruction onclick garantit que la fonction côté serveur ne s’exécute pas tant que la fonction client n’est plus en cours d’exécution. En cas de réussite, la fonction côté serveur s’exécute et met à jour l’enregistrement.
// 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(Contrôle de chaîne, Formulaire d’objet, Chaîne action_name)
Soumet un formulaire comme si l’utilisateur avait cliqué sur une action d’interface utilisateur après avoir vérifié les champs requis et exécuté des scripts clients onSubmit(). Permet d’appeler du code côté client et du code côté serveur et dans une seule action d’interface utilisateur.
| Nom | Type | Description |
|---|---|---|
| control | Chaîne | Nom d’un bouton de formulaire sur lequel vous souhaitez simuler un clic de l’utilisateur. Utiliser null dans le cas contraire. |
| formulaire | Objet | Facultatif. Élément de formulaire qui contient l’entrée soumise. Vous pouvez récupérer cette valeur en appelant la méthode g_form.getFormElement(). |
| action_name | Chaîne | Nom de l’action. Cette valeur est fournie dans l’enregistrement répertorié dans la table Actions d’interface utilisateur [sys_ui_action]. Par exemple, |