Dodavanje prilagođenog JavaScript koda u obrazac

Zapisi koraka u osnovnim obrascima i obrascima sa više koraka sadrže polje pod nazivom Prilagođeni JavaScript koje može da se koristi za skladištenje JavaScript koda kako bi vam omogućio da proširite ili izmenite vizuelni prikaz ili funkciju obrasca.

Prilagođeni blok JavaScript koda će biti dodat na dno stranice, neposredno pre elementa zatvaranja oznake obrasca.

Polja obrasca

ID HTML unosa za polje tabele je postavljen na logički naziv atributa. Jednostavan izbor polja, postavke vrednosti ili druge manipulacije na strani klijenta pomoću korisničkog interfejsa jQuery.

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

Važno

Dodavanje kolone izbora u obrazac zasnovan na modelu koji će se koristiti u koraku obrasca sa više koraka ili osnovnom obrascu prikazaće se na veb-stranici kao padajuća kontrola na strani servera. Korišćenje prilagođenog JavaScript koda za dodavanje dodatnih vrednosti kontroli rezultiraće porukom „Nevažeći argument za povratni odgovor ili povratni poziv“ na prosleđivanju stranice.

Dodatna provera valjanosti polja na strani klijenta

Ponekad ćete morati da prilagodite proveru valjanosti polja na obrascu. Ovaj primer primorava korisnika da navede e-poštu samo ako je drugo polje za željeni način kontaktiranja podešeno na E-pošta.

Napomena

Provera valjanosti polja na strani klijenta nije podržana u podformi.

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

Opšta provera valjanosti

Po kliku na dugme Dalje/Podnesi, izvršava se funkcija po imenu entityFormClientValidate. Možete da proširite ovaj metod da biste dodali prilagođenu logiku provere valjanosti.

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

Pogledajte i ovo