新增自訂 JavaScript

網頁表單步驟記錄包含名為 [自訂 JavaScript] 的欄位,可用來儲存 JavaScript 程式碼,讓您擴充或修改表單的視覺顯示或功能。

JavaScript 的自訂區塊就在結尾表單標籤元素之前新增至頁面底部。

表單欄位

實體欄位的 HTML 輸入識別碼會設定為屬性的邏輯名稱。 這樣就很容易使用 jQuery 來選取欄位、設定值或執行其他用戶端操作。

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

其他用戶端欄位驗證

您有時可能需要自訂表單上的欄位驗證。 下列範例示範新增自訂驗證程式。 此範例強制使用者只有在 [偏好的連絡方式] 的其他欄位設定為 [電子郵件] 時,才能指定電子郵件。

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));
}

一般驗證

按一下 [下一步]/[送出] 按鈕,就會執行名為 webFormClientValidate 的函數。 您可以擴充這個方法來新增自訂驗證邏輯。

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));
}

請參閱

設定 Dynamics 365 入口網站
定義 Dynamics 365 入口網站內的實體表單和自訂邏輯
入口網站的網頁表單步驟
載入表單/載入索引標籤步驟類型
重新導向步驟類型
條件步驟類型