Dijeli putem


Dodavanje prilagođenog jezika JavaScript obrascu

Zapisi koraka osnovnog obrasca i obrasca u više koraka sadrži polje pod nazivom Prilagođeni JavaScript koje se može upotrebljavati za pohranu JavaScript koda koji vam omogućava produžiti ili izmijeniti vizualni prikaz obrasca ili njegovu funkciju.

Prilagođeni blok jezika JavaScript dodat će se na dno stranice odmah ispred zatvarajućeg elementa oznake obrasca.

Polja obrasca

ID unosa HTML polja tablice postavljena je na logički naziv atributa. Odabir polja, postavljanje vrijednosti ili druge manipulacije s klijentske strane uz pomoć funkcije jQuery.

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

Važno

Dodavanje stupca odabira u obrazac stvoren prema modelu koji će se koristiti u koraku obrasca u više koraka ili osnovnom obrascu prikazat će se na web-stranici kao padajuća kontrola poslužitelja. Upotreba prilagođene funkcije JavaScript za dodavanje dodatnih vrijednosti u kontrolu rezultirat će porukom „Nevažeći povratni argument ili argument povratnog poziva” pri slanju stranice.

Dodatne provjere valjanosti s klijentske strane

Ponekad ćete morati prilagoditi provjeru valjanosti polja na obrascu. U ovom određenom primjeru od korisnika se traži da navede poruku e-pošte samo ako je još jedno polje za preferirani način kontakta postavljeno na E-pošta.

Napomena

Potvrda polja na strani klijenta nije podržana u podrešetci.

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ća provjera valjanosti

Klikom gumba dalje/pošalji izvršava se funkcija pod nazivom entityFormClientValidate. Tu metodu možete proširiti da biste dodali prilagođenu logiku provjere 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