Engade JavaScript personalizado a un formulario
Ambos forma básica e forma avanzada os rexistros de pasos conteñen un campo chamado JavaScript personalizado que se pode usar para almacenar código JavaScript para permitirlle ampliar ou modificar a visualización ou función visual do formulario.
O bloque personalizado de JavaScript que se engadirá á parte inferior da páxina xusto antes do elemento de peche da etiqueta do formulario.
Campos de formulario
O ID de entrada do HTML dun campo de táboa está definido como o nome lóxico do atributo. Seleccionar un campo, configurar valores ou manipular o lado do cliente con facilidade jQuery.
$(document).ready(function() {
$("#address1_stateorprovince").val("Saskatchewan");
});
Importante
Engadir unha columna de selección ao formulario baseado no modelo para ser usado nun paso de formulario avanzado ou nun formulario básico aparecerá na páxina do portal como un control do servidor despregable. Ao usar JavaScript personalizado para engadir valores adicionais ao control, aparecerá unha mensaxe "Argumento de devolución ou devolución de chamada non válido" no envío da páxina.
Validación adicional do campo da parte do cliente
Ás veces é posible que necesite personalizar a validación de campos do formulario. Este exemplo obriga ao usuario a especificar un correo electrónico só se o outro campo para o método de contacto preferido está definido como Correo.
Nota
A validación de campo do lado do cliente non se admite nunha subgrade.
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));
}
Validación xeral
Ao facer clic no A continuación/Enviar botón, unha función denominada entityFormClientValidate execútase. Pode estender este método para engadir lóxica de validación personalizada.
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));
}
Consulte tamén
- Configurar un portal
- Definir formularios básicos
- Pasos do formulario avanzado para portais
- Tipo de paso Cargar formulario ou Cargar separador
- Tipo de paso de redireccionamento
- Tipo de paso condicional
- Microsoft Learn: Estender portais de Power Apps con scripts
- Microsoft Learn: Desenvolvemento avanzado do cliente
Comentarios
Enviar e ver os comentarios