Mukautetun JavaScriptin lisääminen lomakkeeseen

Huomautus

Power Apps -portaaleja kutsutaan 12. lokakuuta 2022 alkaen nimellä Power Pages. Lisätietoja: Microsoft Power Pages on nyt yleisesti saatavilla (blogi)
Siirrämme ja yhdistämme Power Apps -portaalien dokumentaation pian Power Pagesin dokumentaatioon.

Sekä peruslomakkeen että monivaiheisen lomakkeen vaihetietueessa on kenttä Mukautettu JavaScript, jonka avulla voidaan tallentaa JavaScript-koodia. Koodin avulla voi laajentaa tai muokata lomakkeen ulkoasua tai toimintoja.

Mukautettu JavaScript-lohko lisätään sivun alareunaan juuri ennen viimeistä lomaketunniste-elementtiä.

Lomakekentät

Taulukkokentän HTML-syötteen tunnukseksi on määritetty määritteen looginen nimi. Kentän valinta, arvojen määrittäminen tai muut asiakasohjelman muokkaukset ovat helppoja jQueryllä.

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

Tärkeä

Kun mallipohjaiseen lomakkeeseen lisätään vaihtoehtosarake käytettäväksi monivaiheisen lomakkeen vaiheessa tai peruslomakkeessa, se tulee näkyviin portaalisivulla avattavana palvelimen ohjausobjektina. Kun mukautettua JavaScriptiä käytetään lisäarvojen lisäämiseen ohjausobjektiin, sivun lähettämisen yhteydessä tulee sanoma ”Virheellinen takaisinlähetys- tai vastakutsuargumentti”.

Vapaaehtoinen kenttien vahvistus asiakasohjelmassa

Toisinaan lomakkeen kenttien vahvistusta on muokattava. Tässä esimerkissä käyttäjät pakotetaan määrittää sähköpostiosoite vain, jos ensisijaiseksi yhteydenottotavaksi on määritetty toisessa kentässä Sähköposti.

Huomautus

Kenttien vahvistusta asiakasohjelmassa ei tueta aliruudukossa.

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

Yleinen vahvistus

Kun Seuraava-/Lähetä-painiketta napsautetaan, järjestelmä suorittaa entityFormClientValidate-toiminnon. Voit laajentaa tätä funktiota mukautetulla vahvistuslogiikalla.

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

Katso myös