Obrazcu dodajte JavaScript po meri

Zapis koraka naprednega obrazca vsebuje 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. Izbira polja, nastavitev vrednosti ali druga manipulacija na strani odjemalca je enostavna z jQuery.

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

Pomembno

Dodajanje stolpca za izbiro v obrazec, ki temelji na modelu, ki se uporablja v koraku naprednega obrazca 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. Naslednji primer prikazuje, kako dodati orodje za preverjanje po meri. 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'>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));
}

Splošno preverjanje veljavnosti

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

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

Glejte tudi

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).