Adăugarea de JavaScript particularizat la un formular
Înregistrarea pas de formulare de bază și formulare multiple conține un câmp numir JavaScript personalizat, care poate fi utilizat pentru a stoca un cod JavaScript pentru a vă permite să extindeți sau să modificați afișarea vizuală a formularului sau funcția.
Blocul personalizat de cod JavaScript va fi adăugat în partea de jos a paginii, chiar înainte de elementul etichetă de formular de închidere.
Câmpuri Formular
Identificatorul de intrare HTML al unui câmp de tabel este setat la numele logic al atributului. Selectarea unui câmp, setarea valorilor sau alte manipulări pe client, cu jQuery.
$(document).ready(function() {
$("#address1_stateorprovince").val("Saskatchewan");
});
Important
Adăugarea unei coloane de alegere la formularul proiectat pe bază de model pentru a fi utilizată într-o etapă de formular cu mai mulți pași sau într-un formular de bază va apărea pe pagina web ca un control de server vertical. Utilizarea JavaScript particularizat pentru a adăuga valori suplimentare la control va avea ca rezultat un mesaj „Argument de postback sau de apel invers nevalid” pe pagina de trimitere.
Validarea suplimentară a câmpului pe partea clientului
Uneori, poate fi necesar să particularizați validarea câmpurilor din formular. Acest exemplu impune ca utilizatorul să specifice un e-mail numai în cazul în care un alt câmp pentru metoda preferată de contact este setată la E-mail.
Notă
Validarea câmpului pe partea clientului nu este acceptat într-o subgrilă.
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));
}
Validare generală
După ce se face clic pe butonul Următorul/Trimiteți, se execută o funcție numită entityFormClientValidate. Puteți extinde această metodă pentru a adăuga o logică de validare personalizată.
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));
}