Dodajanje JavaScript po meri obrazcu

Opomba

Od 12. oktobra 2022 najprej je portal Power Apps Power Pages. Več informacij: Microsoft Power Pages je zdaj splošno dostopen (spletni dnevnik)
Dokumentacijo portalov Power Apps bomo kmalu preselili in združili z dokumentacijo za Power Pages.

Zapisi koraka osnovnega obrazca in obrazca z več koraki vsebujejo polje z imenom JavaScript po meri, ki se lahko uporablja za shranjevanje kode JavaScript, ki omogoča razširitev ali spreminjanje vidnega prikaza obrazca ali njegove funkcije.

Blok JavaScript po meri bo dodan na koncu strani tik pred zaključnim elementom oznake obrazca.

Polja obrazca

ID vnosa HTML za polje tabele, ki je nastavljeno na logično ime atributa. Enostavna izbira polja, nastavljanje vrednosti ali upravljanje na strani drugega odjemalca s knjižnico jQuery.

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

Pomembno

Dodajanje stolpca za izbiro v obrazec, ki temelji na modelu, ki se uporablja v koraku obrazca z več koraki ali osnovnem obrazcu, se bo na strani portala prikazalo kot spustni kontrolnik strežnika. Če uporabite JavaScript po meri za dodajanje dodatnih vrednosti kontrolniku, bo pri oddaji strani prikazano sporočilo »Neveljaven argument povratne objave ali povratnega klica«.

Preverjanje veljavnosti dodatnega polja strani odjemalca

Včasih boste morali prilagoditi preverjanje veljavnosti polj na obrazcu. Ta primer uporabnika prisili, da določi e-pošto le, če je drugo polje za prednostni način stika nastavljeno na možnost »E-pošta«.

Opomba

Preverjanje veljavnosti polja na strani odjemalca ni podprto v podmreži.

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' referencecontrolid='emailaddress1 ' onclick='javascript:scrollToAndFocus(\"emailaddress1 _label\",\" emailaddress1 \");return false;'>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);

      });
   }(window.jQuery));
}

Splošno preverjanje veljavnosti

S klikom gumba Naprej/Pošlji se izvede funkcija z imenom entityFormClientValidate. To metodo lahko razširite, da dodate logiko preverjanja veljavnosti po meri.

if (window.jQuery) {
   (function ($) {
      if (typeof (entityFormClientValidate) != 'undefined') {
         var originalValidationFunction = entityFormClientValidate;
         if (originalValidationFunction && typeof (originalValidationFunction) == "function") {
            entityFormClientValidate = 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));
}

Glejte tudi