Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Accesibilidad y alcance de la variable JavaScript de FormValidation

El siguiente JavaScript arroja un error Uncaught TypeError: Cannot read properties of undefined (reading 'setAttribute') y el registro de la consola de this.valid_form_submit_btn no está definido , pero se puede acceder a la misma variable fuera de esta función.

formulario-validación.js

 "use strict"; //validation script class MedValidation { constructor(valid_form_id) { this.valid_form = document.getElementById(valid_form_id); this.valid_form_submit_btn = this.valid_form.querySelector('[type="submit"]'); } init() { this.valid_fv = FormValidation.formValidation( this.valid_form, { plugins: { trigger: new FormValidation.plugins.Trigger({delay:0.5}), submitButton: new FormValidation.plugins.SubmitButton(), bootstrap: new FormValidation.plugins.Bootstrap(), icon: new FormValidation.plugins.Icon({ valid: "fa fa-check", invalid: "fa fa-times", validating: "fa fa-refresh", }), fieldStatus: new FormValidation.plugins.FieldStatus({ onStatusChanged: function (areFieldsValid) { console.log("test fieldStatus"); console.log(areFieldsValid); console.log(this.valid_form_submit_btn); if (areFieldsValid) { // Enable the submit button // so user has a chance to submit the form again this.valid_form_submit_btn.removeAttribute("disabled"); } else { // Disable the submit button this.valid_form_submit_btn.setAttribute("disabled", "disabled"); } }, }), }, }); } } // webpack support if (typeof module !== "undefined" && typeof module.exports !== "undefined") { module.exports = MedValidation; }

¿Cómo paso la variable a la función onStatusChanged?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe usar la función de flecha en lugar de la función normal si no quiere perder this contexto.

 fieldStatus: new FormValidation.plugins.FieldStatus({ onStatusChanged: (areFieldsValid) => { // this console.log("test fieldStatus"); console.log(areFieldsValid); console.log(this.valid_form_submit_btn); if (areFieldsValid) { // Enable the submit button // so user has a chance to submit the form again this.valid_form_submit_btn.removeAttribute("disabled"); // and now `this` context is MedValidation class } else { // Disable the submit button this.valid_form_submit_btn.setAttribute("disabled", "disabled"); } }, })

Gran explicación aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda