Přidání vlastního JavaScriptu do formuláře
Záznam kroku rozšířeného formuláře obsahuje pole s názvem Vlastní JavaScript, které lze použít k uložení kódu jazyka JavaScript, aby bylo možné rozšířit nebo upravit vizuální zobrazení nebo funkci formuláře.
Vlastní blok jazyka JavaScript bude přidán na konec stránky těsně před uzavírací prvek značky formuláře.
Pole formuláře
ID zadávání kódu HTML tabulky je nastaveni na logický název atributu. Snadno vybírejte pole, nastavujte hodnoty nebo jiné úpravy na straně klienta pomocí knihovny jQuery.
$(document).ready(function() {
$("#address1_stateorprovince").val("Saskatchewan");
});
Důležité
Přidání sloupce volby do modelem řízeného formuláře, který má být použit v kroku pokročilého formuláře nebo základního formuláře, se objeví na portálové stránce jako rozevírací serverový ovládací prvek. Použití vlastního JavaScriptu k přidání dalších hodnot do ovládacího prvku bude mít za následek zprávu „Neplatný argument postback nebo zpětného volání“ při odeslání stránky.
Další ověřování polí na straně klienta
Někdy může být nutné upravit ověřování polí ve formuláři. Následující příklad ukazuje přidání vlastního ověření. V tomto příkladu musí uživatel zadat e-mail pouze v případě, že je další pole pro upřednostňovaný způsob kontaktu nastaveno na „E-mail“.
Poznámka
Ověření pole na straně klienta není podporováno v podmřížce.
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));
}
Obecné ověření
Při kliknutí na tlačítko Další/Odeslat se spustí funkce s názvem webFormClientValidate. Můžete rozšířit tuto metodu a přidat vlastní logiku ověřování.
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));
}
Viz také
- Konfigurace portálu
- Definování základních formulářů
- Kroky rozšířeného formuláře pro portály
- Typ kroku Načíst formulář / Načíst kartu
- Typ kroku přesměrování
- Typ podmíněného kroku
- Microsoft Learn: Rozšíření portálů Power Apps o skripty
- Microsoft Learn: Rozšířenývývoj na straně klienta
Poznámka
Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)
Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).
Váš názor
Odeslat a zobrazit názory pro