Ajouter du code JavaScript personnalisé

L'enregistrement d'étape de formulaire Web contient un champ nommé JavaScript personnalisé qui peut être utilisé pour enregistrer du code JavaScript vous permettant d'étendre ou modifier la visualisation ou la fonctionnalité du formulaire.

Le bloc JavaScript personnalisé sera ajouté au bas de la page juste avant l'élément de balise de fermeture.

Champs de formulaire

L'ID d'entrée HTML d'un champ d'entité est défini sur le nom logique de l'attribut. Ainsi, la sélection d'un champ, la définition des valeurs et autres manipulations côté client sont facilitées avec jQuery.

$(document).ready
(
function() 
{
$("#address1_stateorprovince").val("Saskatchewan");
}
); 

Validation supplémentaire des champs côté client

Parfois vous devrez peut-être personnaliser la validation des champs du formulaire. L'exemple suivant illustre l'ajout d'un validateur personnalisé. Cet exemple force l'utilisateur à spécifier une adresse électronique uniquement si l'autre champ de « méthode de contact privilégiée » est défini sur Courrier électronique.

if (window.jQuery) 
{
(function ($) 
{

$(document).ready(function () 
{
if (typeof (Page_Validators) == 'undefined') return;

// Create new validator

var newValidator = document.createElement('span');

newValidator.style.display = "none";
newValidator.id = "emailaddress1Validator";
newValidator.controltovalidate = "emailaddress1";
newValidator.errormessage = "<a href='#emailaddress1_label'>Email is a required field.</a>";
newValidator.validationGroup = ""; // Set this if you have set ValidationGroup on the form
newValidator.initialvalue = "";
newValidator.evaluationfunction = function () 
{
var contactMethod = $("#preferredcontactmethodcode").val();
if (contactMethod != 2) return true; // check if contact method is not 'Email'.

// only require email address if preferred contact method is email.
var value = $("#emailaddress1").val();
if (value == null || value == "") 
{
return false;

} else {

return true;

}

};

// Add the new validator to the page validators array:

Page_Validators.push(newValidator);

// Wire up the click event handler of the validation summary link
$("a[href='#emailaddress1_label']").on("click", function () { scrollToAndFocus('emailaddress1_label','emailaddress1');});
});
}(window.jQuery));
}

Validation générale

Le fait de cliquer sur le bouton Suivant/Envoyer exécute une fonction nommée webFormClientValidate. Vous pouvez étendre cette méthode pour ajouter une logique de validation personnalisée.

if (window.jQuery) {

(function ($) {
if (typeof (webFormClientValidate) != 'undefined') {
var originalValidationFunction = webFormClientValidate;
if (originalValidationFunction && typeof (originalValidationFunction) == "function") 
{

webFormClientValidate = function() {
originalValidationFunction.apply(this, arguments);
// do your custom validation here
// return false; 
// to prevent the form submit you need to return false
// end custom validation.

return true;
};
}
}
}(window.jQuery));
}

Voir aussi

Configurer un portail Dynamics 365
Définir des formulaires d'entité et une logique personnalisée dans le portail Dynamics 365
Étapes des formulaires Web pour les portails
Type d'étape Charger le formulaire/Charger l'onglet
Type d'étape Rediriger
Type d'étape conditionnel