Utilisation du code client et serveur dans une action d’interface utilisateur
Vous pouvez utiliser un script pour valider une entrée lors d’un clic sur une action d’interface utilisateur côté client avant de mettre à jour l’enregistrement côté serveur. L’utilisateur n’aura pas besoin de cliquer deux fois sur le bouton pour valider les champs obligatoires 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 cliente n’est pas exécutée. 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 obligatoires et exécuté les scripts clients onSubmit( ). Permet d’appeler le code côté client et le code côté serveur 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 utilisateur. Utilisez null sinon. |
| 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, |