$(function() { function waitForFieldLoaded(ms) { return new Promise(resolve => setTimeout(resolve, 100)); } //db_vars: //============= var organisation = 2373; var invsection = 2375; var invneeded = 2376; var rec_vat = 2377; var rec_reference = 2378; var privsection = 2386; var chk_privacy = 2387; var chk_share = 2388; var side_meeting_c = 2390; var side_meeting_a = 2391; var side_meetings_a_list = 2392; var side_meetings_c_list = 2393; var side_meetings_b_list = 2394; //============= 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 = '#section2386 label[for="field-2386-2387"]'; // checkbox var acceptShare = '#someothersection'; acceptShare = '#section2386 label[for="field-2386-2388"]'; // checkbox async function setUserPrivacyDefaults(){ while(!$(acceptPrivacyNotice).length){ await waitForFieldLoaded(); } $(acceptPrivacyNotice) .html($(acceptPrivacyNotice).text()); $(acceptShare) .html($(acceptShare).text()); } setUserPrivacyDefaults(); var invsection = '2375'; var invneeded = '2376'; var rec_vat = '2377'; var rec_reference = '2378'; 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 } }); });