PageSourceSearch

https://finvero.com/js/components/inAllSections/formDemo.js

js finvero.com collected 2026-10-01 12:31:08 UTC 20,260 bytes, 315 lines download raw bytes

1function _handleValidateFormLenderDemo() {
2    offBtnSummit({classForm: "form-LenderDemoModal"}); //desabilita el boton
3    const forms = document.getElementsByClassName("form-LenderDemoModal");
4    Array.prototype.filter.call(forms, function (form) {
5      //si es valido envio de formulario y el correo es valido
6      if (form.checkValidity() && !isInValidEmail(form) && validateEmailInput(form)) {
7        _handleSendForm({
8          formId: "form-LenderDemoModal",
9          urlApi: "/lender",
10          additionalValuesApi: {
11            typeLender: "demo"
12          },
13          formName: "Formulario Solicitud Demo Lender",
14          subject: "Finvero Solicitud Demo Lender",
15          namePetition: "Demo Lender",
16          refreshCallback: (response) =>{
17              console.log('form send');
18              window.location="/gracias/lenders";
19              onBtnSummit({classForm: "form-LenderDemoModal"}); //habilitar el boton
20          },
21          refreshCallbackOnFail: () =>{
22              console.log('error')
23              onBtnSummit({classForm: "form-LenderDemoModal"}); //habilitar el boton
24          },
25        });
26      }else{
27        //en caso de que  no sea valido
28        onBtnSummit({classForm: "form-LenderDemoModal"}) //habilitar el boton
29      }
30      form.classList.add("was-validated");
31    });
32  }
33  
34  function _handleValidateFormMerchantDemo() {
35    offBtnSummit({classForm: "fomulario_registro_merchant_demo"});
36    const forms = document.getElementsByClassName("fomulario_registro_merchant_demo");
37    Array.prototype.filter.call(forms, function (form) {
38      if (form.checkValidity() && validateEmailInput(form)) {
39        _handleSendForm({
40          formId: "fomulario_registro_merchant_demo",
41          urlApi: "/merchant",
42          additionalValuesApi: {
43            typeMerchant: "demo",
44            chanel: "landing"
45          },
46          formName: "Formulario Solicitud Demo Comercio",
47          subject: "Finvero Solicitud Demo Comercio",
48          namePetition: "Solicitud Demo Comercio",
49          refreshCallback: (response) =>{
50              console.log('form send');
51              window.location = "/registro-exitoso/";
52              onBtnSummit({classForm: "fomulario_registro_merchant_demo"})
53          },
54          refreshCallbackOnFail: () =>{
55              console.log('error')
56              onBtnSummit({classForm: "fomulario_registro_merchant_demo"})
57          },
58        });
59      }else{
60        onBtnSummit({classForm: "fomulario_registro_merchant_demo"})
61      }
62      form.classList.add("was-validated");
63    });
64  }
65  
66  function _resetModalDemo() {
67    document.getElementById("ContainerOptionsDemo").classList.remove("d-none");
68    document.getElementById("ContainerFormMerchantDemo").classList.add("d-none");
69    document.getElementById("ContainerFormLenderDemo").classList.add("d-none");
70  }
71  
72  function _onClickBtnMerchantDemo() {
73    document.getElementById("ContainerOptionsDemo").classList.add("d-none");
74    document.getElementById("ContainerFormMerchantDemo").classList.remove("d-none");
75  }
76  
77  function _onClickBtnLenderDemo() {
78    document.getElementById("ContainerOptionsDemo").classList.add("d-none");
79    document.getElementById("ContainerFormLenderDemo").classList.remove("d-none");
80  }
81  
82  document.addEventListener("DOMContentLoaded", () => {
83  
84    const myModalElDemo = document.getElementById("modalDemoBoth");
85  
86    //listeners to open forms
87    addListenerButton("btnMerchantShowFormDemo", function () {
88      _onClickBtnMerchantDemo();
89    });
90    addListenerButton("btnLenderShowFormDemo", function () {
91      _onClickBtnLenderDemo();
92    });
93  
94    myModalElDemo.addEventListener("show.bs.modal", (event) => {
95      _resetModalDemo();
96    });
97
98    //clic btn home lender per show directli content
99    addListenerButton("btnHomeOne1", function () {
100      _onClickBtnLenderDemo();
101    })
102    addListenerButton("btnHomeOne22", function () {
103      _onClickBtnMerchantDemo();
104    })
105    
106  
107    //listeners to send forms
108    addListenerForm("form-LenderDemoModal", _handleValidateFormLenderDemo);
109    addListenerForm("fomulario_registro_merchant_demo", _handleValidateFormMerchantDemo);
110  });
111  
112  const formLenderElementDemo = `
113              <div class="container-92 pb-4 ">
114                  <h3 id="" class="xksmks font-semibold text-blue-dk-finveroII fv-text-lg32 sm-bg-24o text-center">
115                    Contacta con nosotros
116                  </h3>
117                  <p id="" class="xksmks1 text-center fv-text-n8 sm-text-15 text-ocean-fv-v3">
118                    Quieres saber más, solicita tu demo 
119                  </p>
120                  <div class="container-90 w-mx-md-100 mt-5 mx-auto">
121                    <form id="form-LenderDemoModal" class="form-LenderDemoModal" novalidate>
122                      <div class="row">
123                        <div class="col-12 col-md-6 d-flex flex-column mt-3 position-relative">
124                          <input name="name" pattern="[A-Za-z-ZñÑáéíóúÁÉÍÓÚ\s ]+" type="text" class="txtName py-2  formFormailGray font-semibold text-greyscale-600" placeholder="Nombre completo" required>
125                          <div class="alName invalid-feedback font-normal">Requerimos el nombre, por favor.</div>
126                        </div>
127                        <div class="col-12 col-md-6 d-flex flex-column mt-3 position-relative">
128                          <input name="lastName" pattern="[A-Za-z-ZñÑáéíóúÁÉÍÓÚ\s ]+" type="text" class="txtLastName py-2  formFormailGray font-semibold text-greyscale-600" placeholder="Nombre completo" required>
129                          <div class="alName invalid-feedback font-normal">Requerimos el nombre, por favor.</div>
130                        </div>
131                        <div class="col-12 col-md-6 d-flex flex-column mt-3">
132                          <input name="phone" type="text" maxlength="10" minlength="10" pattern="[0-9]+"required class="txtPhone1 py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Número telefónico válido en México">
133                          <div class="alPhone invalid-feedback font-normal">Ingrese un número de teléfono de 10 dígitos.</div>
134                        </div>
135                        <div class="col-12 col-md-6 d-flex flex-column mt-3 position-relative">
136                        <input name="nameBusiness" type="text" class="txtNameCompany py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Nombre de la empresa" required>
137                        <div class="alName invalid-feedback font-normal">Requerimos el nombre, por favor.</div>
138                        </div>
139                        <div class="col-12 col-md-6 d-flex flex-column mt-3">
140                          <input name="email" type="email" class="lblMailH py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Correo electrónico" required>
141                          <div class="emailLabelAlert invalid-feedback font-normal">Ingrese su correo electrónico</div>
142                        </div>
143                        <div class="col-12 col-md-6 d-flex flex-column mt-3">
144                          <select name="aboutUs" class="text-greyscale-600 formFormailGray font-semibold py-2" aria-label="Default select example" required>
145                            <option  selected disabled class="howyouknowsH" value="">¿Cómo te enteraste de nosotros?</option>
146                            <option class="op1socialmedia" value="Redes Sociales">Redes Sociales</option>
147                            <option class="op3recomend" value="Recomendación">Recomendación</option>
148                            <option class="op2mail" value="Correo Electrónico">Correo Electrónico</option>
149                            <option class="op4search" value="Buscadores">Buscadores</option>
150                            <option class="op5nota" value="Nota de prensa">Nota de prensa</option>
151                            <option class="op6other" value="Otro">Otro</option>
152                          </select>
153                          <div class="invalid-feedback font-normal alcategory">Campo obligatorio.</div>
154                        </div>
155                        
156                        <div class="col-12 col-md-6 d-flex flex-column mt-3">
157                          <select name="interest" class="text-greyscale-600 formFormailGray font-semibold py-2" aria-label="Default select example" required>
158                            <option class="intertdsyH" selected disabled value="">¿Qué te interesa integrar?</option>
159                            <option class="opdem1" value="Plataforma 
159integral de crédito">Plataforma integral de crédito</option>
160                            <option class="opdem2" value="Loan Servicing">Loan Servicing</option>
161                            <option class="opdem3" value="Score/Fraude Alternativo">Score/Fraude Alternativo</option>
162                            <option class="opdem4" value="Loan Servicing">Originación de crédito</option>
163                            <option class="opdem5" value="Loan Servicing">Análisis de portafolio</option>
164                          </select>
165                          <div class="invalid-feedback font-normal alcategory">Campo obligatorio.</div>
166                        </div>
167                        
168                        <div class="col-12 col-md-6 d-flex flex-column mt-3">
169                                <select name="sectorOriginating" class="text-greyscale-600 formFormailGray font-semibold py-2" aria-label="Default select example" required>
170                                    <option class="lblSectorOrigin" selected disabled value="">¿De qué sector provienes?*</option>
171                                    <option class="op1banks" value="Bancos">Bancos</option>
172                                    <option class="op2lender" value="Entidad de crédito “Lender”">Entidad de crédito “Lender”</option>
173                                    <option class="op3corporative" value="Gran corporativo de consumo masivo">Gran corporativo de consumo masivo</option>
174                                    <option class="op4telco" value="Telco">Telco</option>
175                                    <option class="op5farma" value="Farma">Farma</option>
176                                    <option class="op6agregadores" value="Agregadores">Agregadores</option>
177                                    <option class="op7comercio" value="Comercio al detalle">Comercio al detalle</option>
178                                    <option class="op8gobierno" value="Gobierno">Gobierno</option>
179                                    <option class="op9others" value="Otro">Otro</option>
180                                </select>
181                                <div class="invalid-feedback font-normal alcategory">Campo obligatorio.</div>
182                          </div>
183                      </div>
184                      <div class="d-flex justify-content-center">
185                        <button type="submit" class="mt-5 btnDemo btn btn-myOwnColor shadow-btn-fv rounded-100 px-5 fv-text-normal text-white  text-center bg-blue-dk-finveroII" ></button>
186                      </div>
187                    </form>
188                  </div>
189                </div>
190  `;
191  
192  const formMerchantElementDemo = `
193                  <form id="fomulario_registro_merchant_demo" name="fomulario_registro_merchant_demo" class="fomulario_registro_merchant_demo bg-neutrals-black" novalidate>
194                    <div class="row px-md-4 px-lg-0 pb-lg-0 pb-4">
195                        <div class="col-12">
196                            <h3 id="" class="xksmks font-semibold text-blue-dk-finveroII fv-text-lg32 sm-bg-24o text-center">
197                                Contacta con nosotros
198                            </h3>
199                            <p id="" class="xksmks1 text-center fv-text-n8 sm-text-15 text-ocean-fv-v3">
200                                Quieres saber más, solicita tu demo 
201                            </p>
202                        </div>
203                        <div class="col-12 col-md-6 pt-2 pt-lg-0">
204                            <div class="d-flex flex-column mt-3">
205                                <input id="txtName" type="text" name="name" pattern="[A-Za-z-ZñÑáéíóúÁÉÍÓÚ\s ]+" required class="txtName py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Nombre completo">
206                                <div class="alName invalid-feedback font-normal">Requerimos el nombre, por favor.</div>
207                            </div>
208                            <div class="d-flex flex-column mt-3">
209                                <input id="txtName" type="text" name="lastName" pattern="[A-Za-z-ZñÑáéíóúÁÉÍÓÚ\s ]+" required class="txtLastName py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Nombre completo">
210                                <div class="alName invalid-feedback font-normal">Requerimos el nombre, por favor.</div>
211                            </div>
212                            <div class="d-flex flex-column mt-3">
213                                <input id='txtPhone' type="text" maxlength="10" minlength="10" pattern="[0-9]+" name="phone" required class="txtPhone py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Número telefónico válido en México">
214                                <div class="alPhone invalid-feedback font-normal">Ingrese un número de teléfono de 10 dígitos.</div>
215                            </div>
216                            <div class="d-flex flex-column mt-3">
217                                <input id="email" type="email" name="email" required class="lblMail py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Correo electrónico">
218                                <div class="emailLabelAlert invalid-feedback font-normal">Ingrese su correo electrónico</div>
219                            </div>
220                        </div>
221                        <div class="col-12 col-md-6 mt-5 mt-md-0">
222                            <div class="d-flex flex-column mt-3">
223                                <input type="text" id="" name="nameBusiness" required class="lblshopname py-2 formFormailGray font-semibold text-greyscale-600" placeholder="Nombre del c
223omercio">
224                                <div id="alshopname" class="invalid-feedback font-normal">Ingrese su comercio.</div>
225                            </div>
226                            
227                            <div class="d-flex flex-column mt-3">
228                                <input type="text" id="" name="webSite" 
229                                    class="webSite py-2 formFormailGray font-semibold text-greyscale-600" placeholder="URL de sitio web">
230                                <div id="alwebsite" class="invalid-feedback font-normal">Ingresa tu sitio web (ejemplo: https://example.com).
231                                </div>
232                            </div>
233                            <div class="d-flex flex-column mt-3">
234                                <select name="interest" class="text-greyscale-600 formFormailGray font-semibold py-2" aria-label="Default select example" required>
235                                  <option class="intertdsy" class="" selected disabled value="">¿Qué te interesa integrar?</option>
236                                  <option class="opt1interest" value="Tiendas físicas">Tiendas físicas</option>
237                                  <option class="opt2interest" value="Ecommerce">Ecommerce</option>
238                                  <option class="opt3interest" value="Ambas">Ambas</option>
239                                </select>
240                                <div class="invalid-feedback font-normal alcategory">Campo obligatorio.</div>
241                            </div>
242                            
243                        </div>
244                        <div class="col-12 d-flex flex-column flex-md-row justify-content-md-center">
245                                <button type="submit" class="btnDemo btn btn-myOwnColor px-5 py-2 mt-5 text-white fv-text-normal bg-blue-dk-finveroII rounded-100" ></button>
246                        </div>
247                    </div>
248                  </form>`;
249  
250  const modalRegisterElementDemo = `
251  <div class="modal fade bg-glass" id="modalDemoBoth" tabindex="-1" data-backdrop="static" aria-labelledby="modalDemoBoth" aria-hidden="true">
252      <div class="modal-dialog modal-dialog-centered modal-lg">
253          <div class="modal-content px-4">
254            <div class="modal-header no-border-bottom">
255              <button type="button" class="btn-close" data-bs-dismiss="modal" data-dismiss="modal" aria-label="Close">
256              </button>
257            </div>
258            <div class="modal-body mt-less-20">
259              <!-- container info -->
260              <div id="ContainerOptionsDemo" class="container-100">
261                <div class="row container-90 w-mx-md-100 mx-auto pt-4 pb-5">
262                  <div class="col-12 col-md-6 d-flex justify-content-center">
263                    <button class="position-relative border-yellow-form btn border-card-mx-sm container-90 w-mx-md-100 btn-fv-hover-home mx-auto p-md-4 rounded-20"
264                      id="btnMerchantShowFormDemo">
265                      <div class="container-30 w-mx-md-20 mx-auto move-start-abs">
266                        <img class="container-100 mt-md-3 img1-icon-cd" src="/assets/img/v3/home/icons/Frame186.png" alt="">
267                        <img class="container-100 img2-icon-cd mt-3" src="/assets/img/v3/home/icons/Frame189.png" alt="">
268                      </div>
269                      <div class="position-absolute d-md-none top-0 right-0 left-0">
270                        <div class="container-10 ms-auto me-3 mt-3">
271                          <img src="/assets/img/v3/home/icons/arrowyeloow.svg" class="container-70" alt="">
272                        </div>
273                      </div>
274                      <h5 id="" class="merchanttitleOn fv-text-lg8 mt-3 font-semibold sm-text-normal">Merchant</h5>
275                      <p id="" class="hm-s2-mONM fv-text-normal sm-text-13">Vende a crédito y aumenta tus ventas </p>
276                    </button>
277                  </div>
278                  <div class="col-12 col-md-6 d-flex justify-content-center mt-5 mt-md-0">
279                    <button class="position-relative border-yellow-form btn border-card-mx-sm btn-fv-hover-home w-mx-md-100 container-90 mx-auto p-md-4 rounded-20"
280                      id="btnLenderShowFormDemo">
281                      <div class="container-30 w-mx-md-20 mx-auto move-start-abs">
282                        <img class="container-100 mt-md-3 img1-icon-cd" src="/assets/img/v3/home/icons/Frame187.png" alt="">
283                        <img class="container-100 img2-icon-cd mt-3" src="/assets/img/v3/home/icons/Frame190.png" alt="">
284                      </div>
285                      <div class="position-absolute d-md-none top-0 right-0 left-0">
286                        <div class="container-10 ms-auto me-3 mt-3">
287                          <img src="/assets/img/v3/home/icons/arrowyeloow.svg" class="container-70" alt="">
288                        </div>
289                      </div>
290                      <h5 id="" class="lendertitleOMN fv-text-lg8 mt-3 font-semibold sm-text-normal">Lenders</h5>
291                      <p id="" class="hm-s2-lMSON fv-text-normal sm-text-13">Inviérte en perfiles interesantes y con alta rentabilidad
292                      </p>
293                    </button>
294                  </div>
295                </div>
296              </div>
297              <!-- end container info -->
298              <!-- container form -->
299              <div id="ContainerFormMerchantDemo" class="container-100 d-none">
300                <div class="container-92 pb-4">
301                  ${formMerchantElementDemo}
302                </div>
303              </div>
304              <!-- container form -->
305              <div id="ContainerFormLenderDemo" class="container-100 d-none">
306                ${formLenderElementDemo}
307              </div>
308            </div>
309          </div>
310      </div>
311    </div>
312  `;
313  
314  document.getElementsByTagName("body")[0].innerHTML += modalRegisterElementDemo;
315  

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.