$(function() { function waitForFieldLoaded(ms) { return new Promise(resolve => setTimeout(resolve, 100)); } //db_vars: //============= var organisation = 2409; var invsection = 2411; var invneeded = 2412; var rec_vat = 2413; var rec_reference = 2414; var privsection = 2422; var chk_privacy = 2423; var chk_share = 2424; var side_meeting_c = 2426; var side_meeting_a = 2427; var side_meetings_a_list = 2428; var side_meetings_c_list = 2429; var side_meetings_b_list = 2430; //============= var iboxdescription = '.i-box-header .i-box-description'; // checkbox async function setiboxDescription(){ while(!$(iboxdescription).length){ await waitForFieldLoaded(); } $( iboxdescription ).each(function( index ) { $(this).html($(this).text()); }); } setiboxDescription(); var acceptPrivacyNotice = '#section2422 label[for="field-2422-2423"]'; // checkbox var acceptShare = '#someothersection'; acceptShare = '#section2422 label[for="field-2422-2424"]'; // checkbox async function setUserPrivacyDefaults(){ while(!$(acceptPrivacyNotice).length){ await waitForFieldLoaded(); } $(acceptPrivacyNotice) .html($(acceptPrivacyNotice).text()); $(acceptShare) .html($(acceptShare).text()); } setUserPrivacyDefaults(); var invsection = '2411'; var invneeded = '2412'; var rec_vat = '2413'; var rec_reference = '2414'; var invoiceNeeded = '#section'+invsection+' #field-'+invsection+'-'+invneeded; // checkbox // var vatNumber = '#section'+invsection+' #field-'+invsection+'-'+rec_vat; // input var vatNumberLabel = "#section"+invsection+" label[for='field-"+invsection+"-"+rec_vat+"'] + .regFormMandatoryField"; // label var customerReference = '#section'+invsection+' #field-'+invsection+'-'+rec_reference; // input async function setInvoiceDetailsDefaults(){ while(!$(vatNumber).length){ await waitForFieldLoaded(); } $(vatNumber).prop('disabled',true); // disable $(customerReference).prop('disabled',true); // disable //while(!$(customerReference).length){ // await waitForFieldLoaded(); //} // $(customerReference).prop('disabled',true); // disable } setInvoiceDetailsDefaults(); $('body').on('click', invoiceNeeded, function(){ if($(invoiceNeeded).prop("checked") == false){ $(vatNumber).prop('disabled',true).val(''); $(customerReference).prop('disabled',true).val(''); $(vatNumberLabel).prop("style", 'display:none'); // hide mandatory star } else if($(invoiceNeeded).prop("checked") == true){ $(vatNumber).prop('disabled',false); $(customerReference).prop('disabled',false); $(vatNumberLabel).prop("style",''); // show mandatory star } }); var parsingHtmlElements = ".regform-done-caption"; async function parseHtml(){ while(!$(parsingHtmlElements).length){ await waitForFieldLoaded(); } $(parsingHtmlElements).each(function(){ $(this).html($(this).text()); }); } parseHtml(); $('body').on('click', '#regformSubmit', function(e) { var prevent = false; // prevent form execution var message = []; if ($(vatNumber).prop('disabled') == false && $(vatNumber).val().length === 0 ) { message.push("Please provide VAT number."); prevent = true; } // if (vat_checked == false ) { // message.push('Please provide correct VAT'); // prevent = true; // } if(prevent === true) { // prevent form exectution if required field are 'enabled' and 'empty' e.preventDefault(); e.stopImmediatePropagation(); alert(message.toString().replace(/,/g, '\n')); // display info } }); });